Na początku pliku z treścią statyczną (.aspx) umieszczamy znacznik <%@ Page %> przykładowo: <%@ Page Language="C#" CodeFile="SampleCodeBehind.aspx.cs" Inherits="Website.SampleCodeBehind" AutoEventWireup="true" %> Dyrektywa @Page oznacza, że istnieje dodatkowy plik(code-behind) z treścią odpowiedzialną za logikę programu. Obydwa pliki, analogicznie do poprzedniego przykładu mogłyby wyglądać następująco: MyPage.aspx <%@ Page Language="C#" %> <!DOCTYPE html PUBLIC "---//W3C//DTD XHTML 1.0 //EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml"> <head runat="server"> <title>Sample page</title> </head> <body> <form id="form1" runat="server"> <div> The current time is: <asp:Label runat="server" id="lbl1" /> </div> </form> </body> </html>
oraz MyPage.aspx.cs czyli nasz code-behind:
using System; using System.Collections.Generic; using System.Linq; using System.Web; using System.Web.UI; using System.Web.UI.WebControls;
namespace Website { public partial class _MyPage : System.Web.UI.Page
protected void Page_Load(object sender, EventArgs e)
// Assign the datetime to label control lbl1.Text = DateTime.Now.ToLongTimeString();
Jak widać, drugie rozwiązanie wydaje się być o wiele bardziej klarowne.