From quickstart:
Simplified Code Behind Model New in 2.0
ASP.NET 2.0 introduces an improved runtime for code-behind pages that simplifies the connections between the page and code. In this new code-behind model, the page is declared as a partial class, which enables both the page and code files to be compiled into a single class at runtime. The page code refers to the code-behind file in the CodeFile
attribute of the <%@ Page %>
directive, specifying the class name in the Inherits
attribute. Note that members of the code behind class must be either public or protected (they cannot be private).
C# CodeBehind Code Separation
The advantage of the simplified code-behind model over previous versions is that you do not need to maintain separate declarations of server control variables in the code-behind class. Using partial classes (new in 2.0) allows the server control IDs of the ASPX page to be accessed directly in the code-behind file. This greatly simplifies the maintenance of code-behind pages.
The advantage of the simplified code-behind model over previous versions is that you do not need to maintain separate declarations of server control variables in the code-behind class. Using partial classes (new in 2.0) allows the server control IDs of the ASPX page to be accessed directly in the code-behind file. This greatly simplifies the maintenance of code-behind pages.
这对开发来说确实是一个改进,CodeBehind中去掉server control的声明会使代码"清爽"很多,看起来舒服多了。请看示例: 页面中我们放置一个textbox:
Test.aspx
<%@ page language="C#" CodeFile="Test.aspx.cs" Inherits="Test_aspx" %>
< html >
< head >
< title >Test ASP.NET 2.0 </ title >
</ head >
< body >
< form runat="server" >
< asp:TextBox ID="TextBox1" Runat="server"/>
< asp:Button ID="Button1" Text="Click Me" OnClick="Button1_Click" Runat="server"/>
< br />
< br />
</ form >
</ body >
</ html >
< html >
< head >
< title >Test ASP.NET 2.0 </ title >
</ head >
< body >
< form runat="server" >
< asp:TextBox ID="TextBox1" Runat="server"/>
< asp:Button ID="Button1" Text="Click Me" OnClick="Button1_Click" Runat="server"/>
< br />
< br />
</ form >
</ body >
</ html >
Test.aspx.cs
using System;
public partial class Test_aspx: System.Web.UI.Page
{
protected void Button1_Click( object sender, EventArgs e)
{
Response.Write ( "Hi,you have entered the word: " + TextBox1.Text);
}
}
public partial class Test_aspx: System.Web.UI.Page
{
protected void Button1_Click( object sender, EventArgs e)
{
Response.Write ( "Hi,you have entered the word: " + TextBox1.Text);
}
}