Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
Dit artikel bevat een kort overzicht van de inline-code en het code-behind-model in ASP.NET.
Oorspronkelijke productversie: ASP.NET
Oorspronkelijk KB-nummer: 303247
Samenvatting
Dit artikel verwijst naar de naamruimte System.Web.UI
van de Microsoft .NET Framework-klassebibliotheek.
ASP.NET ondersteunt twee methoden voor het ontwerpen van pagina's:
- Inlinecode
- Code-behind
Inlinecode
Inlinecode is code die rechtstreeks in de ASP.NET pagina is ingesloten. De volgende code vertegenwoordigt een voorbeeldpagina ASP.NET met inlinecode:
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>
Code-behind
Code-behind verwijst naar code voor uw ASP.NET-pagina die zich in een afzonderlijk klassebestand bevindt. Hierdoor is een schone scheiding van uw HTML mogelijk van uw presentatielogica. In het volgende voorbeeld ziet u een ASP.NET pagina met code-achter:
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(); } } }
In het voorgaande voorbeeld kunt u de volgende syntaxis gebruiken om Mycodebehind.cs te compileren:
csc.exe /out:mycodebehind.dll /t:library mycodebehind.cs
Wanneer u de volgende code gebruikt, neemt de pagina achter de code over van de paginaklasse. De klasse Pagina bevindt zich in het System.Web.UI namespace
volgende:
public class MyClass : Page
Overnemen van de Page
klasse geeft de pagina achter de code toegang tot de ASP.NET intrinsieke objecten, zoals Request
en Response
. Bovendien biedt overname van de klasse een framework voor het Page
verwerken van gebeurtenissen voor besturingselementen op de ASP.NET pagina.
In het voorgaande voorbeeld wordt de code-behind-pagina gecompileerd voordat ASP.NET wordt uitgevoerd. U kunt ook verwijzen naar de code-behind-klasse door een SRC
tag als volgt te gebruiken:
<%@ Language="C#" Inherits="MyStuff.MyClass" src="MyCodebehind.cs" %>
In dit geval compileert ASP.NET de code-behind-pagina on-the-fly. Deze compilatiestap vindt alleen plaats wanneer het code-behind-bestand wordt bijgewerkt (die wordt gedetecteerd door een tijdstempelwijziging).
Ondersteuning voor code-behind in Visual Studio .NET
Wanneer u Visual Studio .NET gebruikt om ASP.NET Web Forms te maken, zijn code-achterpagina's de standaardmethode. Bovendien voert Visual Studio .NET automatisch precompilatie voor u uit wanneer u uw oplossing bouwt.
Notitie
Code-behind-pagina's die zijn gemaakt in Visual Studio .NET bevatten een speciaal page
kenmerk, Code-behind
dat visual Studio .NET gebruikt.