你目前正处于脱机状态,正在等待 Internet 重新连接

INFO:ASP.NET 代码隐藏模型概述

本文的发布号曾为 CHS303247
不再更新的 KB 内容免责声明
本文介绍那些 Microsoft 不再提供支持的产品。因此本文按“原样”提供,并且不再更新。
本文引用下面的 Microsoft .NET 框架类库名称空间:
  • System.Web.UI
概要
本文简要概述了 ASP.NET 中引入的代码隐藏模型。
更多信息
ASP.NET 支持两种创作页的方法:
  • 内嵌代码
  • 代码隐藏

内嵌代码

内嵌代码是直接嵌入在 ASP.NET 页内的代码。下面是包括内嵌代码的 ASP.NET 页示例:

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>

代码隐藏

代码隐藏是指包含在另一个类文件内的 ASP.NET 页的代码。这允许超文本标记语言 (HTML) 与表示逻辑完全分离。下面的示例说明了 ASP.NET 代码隐藏页:

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();        }    }}
在前面的示例中,可以使用下面的语法编译 Mycodebehind.cs:
csc.exe /out:mycodebehind.dll /t:library mycodebehind.cs
请注意,代码隐藏页从 Page 类继承,该类驻留在 System.Web.UI 名称空间:
public class MyClass :Page
Page 类继承这一特点使得代码隐藏页具有对 ASP.NET 内部对象(如 RequestResponse)的访问权限。此外,从 Page 类继承这一特点还为 ASP.NET 页内的控件提供了处理事件的框架。

在前面的示例中,代码隐藏页是在 ASP.NET 执行之前编译的。或者,可以引用带有 SRC 标记的代码隐藏类,如下所示:
<%@ Language="C#" Inherits="MyStuff.MyClass" src="MyCodebehind.cs" %>
在本例中,ASP.NET 动态编译代码隐藏页。请注意,仅在更新了代码隐藏文件的情况下(通过时间戳变化检测到),才会执行这一编译步骤。

Visual Studio .NET 中的代码隐藏支持

使用 Microsoft Visual Studio .NET 创建 ASP.NET Web 窗体时,代码隐藏页是默认方法,并且会在使用 Visual Studio .NET 建立解决方案时自动为您执行预编译。请注意,在 Visual Studio .NET 中创建的代码隐藏页包括一个特殊的页属性 - Codebehind,Visual Studio .NET 使用该属性。
参考
有关附加信息,请单击下列文章编号,查看 Microsoft 知识库中的文章:
313105 BUG:Cannot Compile Code-Behind Files That Use Src Attribute on a UNC Share(无法编译在 UNC 共享上使用 Src 属性的代码隐藏文件)
codebehind
属性

文章 ID:303247 - 上次审阅时间:08/13/2002 10:43:00 - 修订版本: 1.0

Microsoft ASP.NET(随 .NET 框架一起提供)

  • kbinfo kbwebforms KB303247
反馈