快速业务通道

ASP.NET页的客户端

作者 佚名技术 来源 NET编程 浏览 发布时间 2012-05-20
,则调用 RaisePostbackEvent 方法。对于 LinkButton 控件,这将导致调用 Click 服务器事件。

分析类代码

.aspx 标记定义 ASP.NET 页的布局,并确定成员控件的大小、样式和位置。但除了可能包含某些客户 端脚本代码和任何 Visual Basic 或 C# 内嵌代码以外,它不包含逻辑。初始化代码、事件处理程序和任 何帮助器例程通常在单独的附带文件中提供,这些文件叫做代码隐藏文件:

public partial class Test : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
...
}
protected void Button1_Click(object sender, EventArgs e)
{
...
}
}

代码文件中的类直接或间接从 System.Web.UI.Page 继承。代码文件和标记都表示必要 的信息,但二者又截然不同。若要完全表示 ASP.NET 页,它们必须组合在一起以形成页类,在其中将代 码文件的逻辑和标记文件的布局数据合并在一起。代码文件类已经是页类,但它缺少两部分关键的信息: 用于填充用户界面的子服务器控件的列表,以及用于标识各种服务器控件的类成员的声明。

在 ASP.NET 1.x 中,页面创建人员每次将控件拖到 Web 表单上时,Visual Studio .NET 2003 都会 在代码文件中自动添加新的行,以创建用于处理刚才拖动的服务器控件的类成员。这是使所有内容保持同 步的非常好的步骤,但开发人员经常会碰到由于缺少类成员或存在无效的类成员而导致的编译错误。

在 ASP.NET 2.0 中,这个问题已经得到了妥当的解决。可以输入部分类,即通过源代码级、程序集受 限且非面向对象的方式来扩展类的行为。在 .NET Framework 2.0 中,类定义可以跨越两个或更多个文件 。每个文件都包含最终的类定义的一部分内容,编译器会考虑到合并各个部分定义,以形成单个统一的类 。所有定义部分都必须有相同的签名,并且最终的类定义必须保证语法正确。

下一步,将动态生成第二个部分类,以列出所有控件成员。两个部分类将在编译时合并。系统将分析 .aspx 标记文件,以创建临时 ASP.test_aspx 类,此类继承自其最终版本的组合代码文件。 如果 ASP.NET 页未绑定到代码文件,但包含它的内嵌代码,则动态页类将继承 System.Web.UI.Page,并在它 的正文中包括所有内嵌代码。

有关动态页的编译机制还有很多内容有待了解,这些内容会在以后的专栏中介绍,本文权作抛砖引玉 。

将您想向 Dino 询问的问题和提出的意见发送至 cutting@microsoft.com.

本文配套源码

凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!

分享到: 更多

Copyright ©1999-2011 厦门凌众科技有限公司 厦门优通互联科技开发有限公司 All rights reserved

地址(ADD):厦门软件园二期望海路63号701E(东南融通旁) 邮编(ZIP):361008

电话:0592-5908028 传真:0592-5908039 咨询信箱:web@lingzhong.cn 咨询OICQ:173723134

《中华人民共和国增值电信业务经营许可证》闽B2-20100024  ICP备案:闽ICP备05037997号