2009-03-30 8 views
1

Ich habe einige Code von klassischen ASP zu ASP.NETKonvertierung von klassischen ASP zu ASP.NET

1) konvertieren Wie kann ich, wie unten am besten Griff Syntax, wo es zum Scheitern verurteilt scheint, da der Code in a Tag, und vielleicht auch, weil die Bedingung über mehrere Tags aufgeteilt ist.

2) Welche Tools oder Richtlinien sind für diese Art von Code geeignet?

3) Klassische ADO.

<li><a<% if "" = myFolder then %> class="selected"<% end if %> href="http://<%= SERVER_NAME %>/"><%= getLocale("Home") %></a></li> 
      <% SQL = "SP_TOPNAV '" & lang & "'" 
      Set maNav = conn.execute(SQL) 
      do while not maNav.EOF %> 
       <li><a<% if maNav(0) = myFolder then %> class="selected"<% end if %> href="http://<%= SERVER_NAME %>/<%= maNav(0) %>"><%= maNav(1) %></a></li> 
      <% maNav.MoveNext 
      loop 
      Set maNav = Nothing %> 
      </ul> 
+0

Welche Fehlermeldung erhalten Sie? –

Antwort

2

ASP.net behandelt Code-Aufteilung zwischen mehreren < %%> Tags einfach gut. Das Problem liegt woanders. Bitte bearbeiten Sie Ihre Frage, um die Fehlermeldung zu erhalten.

+0

Sie sagen also, dass diese Art von Code gut funktionieren sollte? – Olav

+0

Ja, absolut. Klassischer ASP-Code funktioniert in einer .NET-Umgebung mit sehr geringen Änderungen. –

2

Wenn Ihr .net 2.0 Blick in ein ASP: Repeater, die an eine Datenquelle binden kann, wenn Ihr .net 3.5 Blick in ein asp mit: listview. Diese Steuerelemente geben Ihnen die Möglichkeit, Daten zu durchlaufen und Markups zu generieren, was im Wesentlichen Ihre Aufgabe ist.

+0

Die einfachste Möglichkeit, diesen Code nach .NET zu portieren, besteht darin, WebForms so lange zu vermeiden, bis sie benötigt werden. Der gesamte klassische Code funktioniert problemlos in einer .NET-Umgebung. –

+0

Ich stimme zu, es hängt von der Definition des Autors der Konvertierung ich denke. – Mcbeev

1

Sie können immer die Datensteuerelemente von ASP.NET verwenden, z. B. Repeater, GridView, DataList, um Objektgruppen anzuzeigen. Und Sie können ihr Aussehen anpassen, indem Sie die ItemTemplate ändern. Sie können die Rendering-Bedingung auch in ItemTemplate einfügen.

Zum Beispiel:

<asp:Repeater id="Repeater1" runat="server"> 

     <HeaderTemplate> 
     <table border="1"> 
     </HeaderTemplate> 

     <ItemTemplate> 
     <tr> 
      <td> <%# Container.DataItem %> </td> 
     </tr> 
     </ItemTemplate> 

     <FooterTemplate> 
     </table> 
     </FooterTemplate> 

    </asp:Repeater> 

Entnommen: http://msdn.microsoft.com/en-us/library/system.web.ui.webcontrols.repeater.itemtemplate.aspx

können Sie immer einfügen bedingte Logik innerhalb <%# ... %> Text. Oder wenn die Logik kompliziert ist, können Sie sie innerhalb des Codes hinter der Datei codieren und von hier aus aufrufen.

Suchen Sie nach "ASP.NET If in ItemTemplate" oder "ASP.NET Condition in ItemTemplate" für weitere Informationen.

Verwandte Themen