VB und C# code in einer aspx Datei
-
Hallo.
Ich habe das Problem, dass ich eine bestehende aspx Seite mit einem Ajax Control Toolkit Elemenet erweitern will. Die Seite ist aber nun in VB aufgebaut, die Funktion die ich erweitern will habe ich aber in C# programmiert. Gibt es eine Möglichkeit zu realisieren, dass eine .aspx Seite sowohl VB als auch C# enthält? Eine komplette asp.net website muss ja sicherlich nicht statisch in VB oder C# programiert sein oder?
Danke.
-
Hallo,
ich glaube nicht dass eine "Mehrsprachigkeit" innerhalb einer Datei realisierbar ist. Der Typ wird ja vordefiniert.
// Zum Beispiel C#: <%@ Page Language="C#" CodeFile="default.aspx.cs" Inherits="_Default" %>
Ist es denn so problematisch den bestehenden Code in VB - Code umzuwandeln?
LG, Micha
-
Gibt sogar Onlineumwandler.
Einfach VB-NET eingeben und c# bekommen.
-
Nein, ein Problem es in VB umzuwandeln wäre es nicht, außer das ich eher aus der C/C++ Welt komme und mir deswegen C# etwas sympatischer ist
Also müsste ich das<%@ Page Language="C#" CodeFile="default.aspx.cs" Inherits="_Default" %>
einfach unter/über den schon enthaltenen
<%@ Page Language="VB" CodeFile="default.aspx.vb" Inherits="_Default" %>
einfügen?
Oder Auf jedenfall gleich so einen "C# zu VB Umwandler" benutzen?
-
Hallo,
ich habe keine Ahnung wie die Reaktion ist wenn plötzlich gesagt wird:
Seite -> mach mal VB und C# ... Also ich als Compiler wäre etwas verwirrt! Ich denke der günstigere Weg ist direkt einen solchen Umwandler zu nutzen.LG, Micha
-
na ich probier es gleich mal... hab nur gerade keine möglichkeit
-
Also ich habe den code nun in VB umgewandelt. Er meckert auch nicht weiter, das gewünschte Ergebnis erhalte ich aber trotzdem nicht.
Nun hatte ich vorher die Startmethode meines codes in der Methode des Page_Load Ereignisses drin. Wenn ich das in den VB Code Einfüge, wird diese aber beim laden gar nicht aufgerufen.
Also habe ich die StartmethodeInitBB()
direkt in die aspx Datei reingesteckt.
</div> <asp:ScriptManager ID="ScriptManager1" runat="server"> </asp:ScriptManager> <asp:UpdatePanel ID="UpdatePanelBB" runat="server"> </asp:UpdatePanel> <% InitBB()%> <br /><asp:LinkButton ID="lbChangeEntries" runat="server" CssClass="LinkButton" PostBackUrl="BlackBoardChanges.aspx" >Einträge ändern</asp:LinkButton> <a class="LinkButton" href="BlackBoardNewEntry.aspx">Eintrag erstellen</a> </div>
Diese erweitert das UpdatePanel beim laden dynamisch mit CollapsiblePanels (http://www.asp.net/AJAX/AjaxControlToolkit/Samples/CollapsiblePanel/CollapsiblePanel.aspx). Das funktioniert aber nun nicht mehr. Beim debuggen seh ich aber, dass die Panels mit ihren Inhalten nacheinander geladen werden und Exceptions fange ich alle ab.
Was mache ich nun noch falsch? Die Buttons sind übrigens da. Gibt es einen Unterschied ob ich dieInitBB()
in der Page_Load Methode Aufrufe oder direkt im xhtml code?
-
Ok ich habe es selber raus bekommen. Die Page_Load Methode richtig aufgerufen und es funktioniert.
Protected Sub Page_Load(ByVal sender As Object, ByVal e As EventArgs) Handles Me.Load InitBB() End Sub
Es ist also ein Unterschied ob in der aspx Seite oder über das Page Load Event aufgerufen.