Kommentar
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
Den här artikeln innehåller en kort översikt över den infogade koden och bakomliggande kodmodellen i ASP.NET.
Ursprunglig produktversion: ASP.NET
Ursprungligt KB-nummer: 303247
Sammanfattning
Den här artikeln refererar till microsoft .NET Framework-klassbibliotekets namnområde System.Web.UI.
ASP.NET stöder två metoder för att skapa sidor:
- Infogad kod
- Kod bakom
Infogad kod
Infogad kod är kod som är inbäddad direkt på sidan ASP.NET. Följande kod representerar ett exempel ASP.NET sida som innehåller infogad kod:
Myinlinecode.aspx
<%@ Language=C# %>
<HTML>
<script runat="server" language="C#">
void MyButton_OnClick(Object sender, EventArgs e)
{
MyLabel.Text = MyTextbox.Text.ToString();
}
</script>
<body>
<form id="MyForm" runat="server">
<asp:textbox id="MyTextbox" text="Hello World" runat="server"></asp:textbox>
<asp:button id="MyButton" text="Echo Input" OnClick="MyButton_OnClick" runat="server"></asp:button>
<asp:label id="MyLabel" runat="server"></asp:label>
</form>
</body>
</HTML>
Kod bakom
Kod bakom refererar till kod för din ASP.NET sida som finns i en separat klassfil. På så sätt kan html-koden skiljas från presentationslogik. Följande exempel illustrerar en ASP.NET bakomliggande sida:
MyCodebehind.aspx
<%@ Language="C#" Inherits="MyStuff.MyClass" %> <HTML> <body> <form id="MyForm" runat="server"> <asp:textbox id="MyTextBox" text="Hello World" runat="server"></asp:textbox> <asp:button id="MyButton" text="Echo Input" Onclick="MyButton_Click" runat="server"></asp:button> <asp:label id="MyLabel" runat="server" /> </form> </body> </HTML>Mycodebehind.cs
using System; using System.Web; using System.Web.UI; using System.Web.UI.WebControls; namespace MyStuff { public class MyClass : Page { protected System.Web.UI.WebControls.Label MyLabel; protected System.Web.UI.WebControls.Button MyButton; protected System.Web.UI.WebControls.TextBox MyTextBox; public void MyButton_Click(Object sender, EventArgs e) { MyLabel.Text = MyTextBox.Text.ToString(); } } }
I föregående exempel kan du använda följande syntax för att kompilera Mycodebehind.cs:
csc.exe /out:mycodebehind.dll /t:library mycodebehind.cs
När du använder följande kod ärver sidan bakom koden från klassen Sida. Klassen Page finns i System.Web.UI namespace:
public class MyClass : Page
Ärvning från Page klassen ger kod bakom sidan åtkomst till ASP.NET inbyggda objekt, till exempel Request och Response. Dessutom tillhandahåller ärvning från Page klassen ett ramverk för hantering av händelser för kontroller på sidan ASP.NET.
I föregående exempel kompileras sidan bakom koden innan ASP.NET körs. Du kan också referera till klassen code-behind med hjälp av en SRC tagg på följande sätt:
<%@ Language="C#" Inherits="MyStuff.MyClass" src="MyCodebehind.cs" %>
I det här fallet kompilerar ASP.NET sidan bakom koden i farten. Det här kompileringssteget inträffar bara när kod bakom-filen uppdateras (vilket identifieras genom en tidsstämpeländring).
Stöd för bakomliggande kod i Visual Studio .NET
När du använder Visual Studio .NET för att skapa ASP.NET webbformulär är kod bakom sidor standardmetoden. Dessutom utför Visual Studio .NET automatiskt förkompilering åt dig när du skapar din lösning.
Kommentar
Bakomliggande sidor som skapas i Visual Studio .NET innehåller ett särskilt page attribut, Code-behind, som Visual Studio .NET använder.