Figure 1 Syntax in ASP.NET 2.0
Default.aspx
<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default.aspx.cs" Inherits="MsdnMag.Default" %>Default.aspx.cs
namespace MsdnMag { public partial class Default : System.Web.UI.Page { protected void Page_Load(object sender, EventArgs e) { } } }
Figure 2 Implicit Server-Side Control Access
Default.aspx
<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default.aspx.cs" Inherits="MsdnMag.Default" %> <!DOCTYPE html PUBLIC "..." "..."> <html xmlns="http://www.w3.org/1999/xhtml" > <head runat="server"> <title>Untitled Page</title> </head> <body> <form id="form1" runat="server"> <div> Enter your name: <asp:TextBox ID="_nameTextBox" runat="server" /><br /> <asp:Button ID="_enterButton" runat="server" Text="Enter" OnClick="_enterButton_Click"/> <br /> <asp:Label ID="_messageLabel" runat="server" /> </div> </form> </body> </html>Default.aspx.cs
namespace MsdnMag { public partial class Default : System.Web.UI.Page { protected void _enterButton_Click(object sender, EventArgs e) { _messageLabel.Text = "Hello there " + _nameTextBox.Text + "!"; } } }
Figure 3 Class Generation with Codebehind
Class for ASPX file generated by ASP.NET
namespace ASP { public class default_aspx : MsdnMag.Default { ... } }Sibling partial class generated by ASP.NET
namespace MsdnMag { public partial class Default : IRequiresSessionState { protected TextBox _nameTextBox; protected Button _enterButton; protected Label _messageLabel; private HtmlForm form1; ... } }Codebehind partial class that you write
namespace MsdnMag { public partial class Default : Page { void _enterButton_Click(object sender, EventArgs e) { _messageLabel.Text = "Hello there " + _nameTextBox.Text + "!"; } } }