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

文章翻译 文章翻译
文章编号: 303247 - 查看本文应用于的产品
本文的发布号曾为 CHS303247
本文引用下面的 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 属性的代码隐藏文件)

属性

文章编号: 303247 - 最后修改: 2002年8月13日 - 修订: 1.0
这篇文章中的信息适用于:
  • Microsoft ASP.NET(随 .NET 框架一起提供)
关键字:?
kbinfo kbwebforms KB303247
Microsoft和/或其各供应商对于为任何目的而在本服务器上发布的文件及有关图形所含信息的适用性,不作任何声明。 所有该等文件及有关图形均"依样"提供,而不带任何性质的保证。Microsoft和/或其各供应商特此声明,对所有与该等信息有关的保证和条件不负任何责任,该等保证和条件包括关于适销性、符合特定用途、所有权和非侵权的所有默示保证和条件。在任何情况下,在由于使用或运行本服务器上的信息所引起的或与该等使用或运行有关的诉讼中,Microsoft和/或其各供应商就因丧失使用、数据或利润所导致的任何特别的、间接的、衍生性的损害或任何因使用而丧失所导致的之损害、数据或利润不负任何责任。
不再更新的 KB 内容免责声明
本文介绍那些 Microsoft 不再提供支持的产品。因此本文按“原样”提供,并且不再更新。

提供反馈

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com