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 + "!";}}}