- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
最新用户控件和自定服务器控件
用户控件和自定义服务器控件
在 ASP.NET 中,系统自带的服务器控件为应用程序开发提供了诸多便利。在应用程序开发中,许多功能都需要重复使用,而如果在应用程序开发中重复的编写类似的代码是非常没有必要的。ASP.NET让开发人员可以自行开发用户控件以提升代码的复用性。
ASP.NET提供了两种选择:
(1)用户控件
(2)自定义控件
一、用户控件
1、什么是用户控件
用户控件使开发人员能够根据应用程序的需求,方便的定义和编写控件。开发所使用的编程技术将与编写 Web 窗体的技术相同,只要开发人员对控件进行修改,就可以将使用该控件的页面的所有控件都进行更改。
(1)用户控件的文件扩展名为.ascx,而不是.aspx。
(2)用户控件中没有@Page指令,而是包含@Control指令,该指令对配置及其他属性进行定义。
(3)用户控件不能作为独立文件运行。而必须像处理任何控件一样,将它们添加到ASP.NET窗体中。
(4)用户控件中没有html、body或form元素。这些元素必须位于宿主页中。
2、编写一个简单的控件
项创建一个用户控件,如图1所示。
图1 创建用户控件
用户控件创建完毕后,会生成一个.ascx 页面。.ascx 页面结构同.aspx 页面基本没有什么区别。在解决方案管理器中可以打开.aspx页面和.ascx页面进行对比,其结构并没有太大的变化。用户控件中并没有“htmlbody”等标记,因为.ascx 页面作为控件被引用到其他页面,引用的页面(如.aspx 页面)其中已经包含bodyhtml等标记。而如果控件中使用这样的标记,可能会造成页面布局混乱。
用户控件创建完成后,.ascx 页面代码如下所示。
其中没有任何的“bodyhtml”等标记,而.ascx.cs 页面代码基本同.aspx 相同,示例代码如下所示。
图2 Default.aspx.cs页面内容
图3 myControl.aspx.cs页面内容
用户控件能够提高复用性,前面介绍的服务器控件,从很多情况下来说都可以看作是用户控件的一种。当网站需要登录框时,不可能在每个需要登录的地方都重新编写一个登录框,最好的方法是每个页面都能够引用一个登录框。当需要对登录框进行修改时,可以一次性的将所有的页面都修改完毕,而不需要对每个页面都修改登录框。
要达到这种目的,使用用户控件是最好不错的了。.ascx 页面允许开发人员拖动服务器控件,并编写相应的样式来实现用户控件,同时用户控件也能够支持事件、方法、委托等高级编程。编写一个用户登录窗口,可以通过几个 TextBox 控件和 Button 控件来实现,界面布局如图4 所示。
图 4 编写用户登录界面
当界面布局完毕后,就需要为用户控件编写事件。当用户单击【登录】按钮时,就需要进行事件操作。同 Web 窗体一样,双击按钮同样会自动生成事件,示例代码如下所示。
protected void Button1_Click(object sender, EventArgs e)
{
Label1.Text = 注册成功; //显示提交信息
}
当单击【提交】按钮时,系统提示注册成功,当然这里只是一个简单的用户控件。如果要实现复杂的用户控件的登录窗口,还需要对用户登录进行验证、查询和判断等功能。当用户控件制作完毕后,就可以在其他页面引用用户控件。
运行 Default.aspx 页面,虽然在 Default.aspx 页面中没有使用制作和编写任何控件,以及代码,但是却已经运行了登录框,这说明用户控件已经被运行了。
当需要对登录框进行修改,而无需对页面进行修改时,只需要修改相应的用户控件即可。当多个页面进行同样的用户控件的使用时,若需要对多个页面的控件进行样式或逻辑的更改只需要修改相应的控件,而不需要进行繁冗的多个页面的修正。
3、课本示例:(P149-152页)
二、自定义控件
ASP.NET自定义控件是编写的一个类,从Control或WebControl派生。使用的自定义控件是编译好的,封装在DLL文件中的代码,这使得自定义控件易于使用但难于创建,自定义控件必须使用代码来创建。一旦创建该控件,那么,就可以将其添加到工具箱中,并具有完全“属性”窗口支持和ASP.NET服务器控件的其他所有设计时功能的可视化设计器中显示该控件。
使用模板创建自定义控件
(1)新建空白解决方案。打开VS2008,单击菜单【文件】→【新建】→【项目】,在“新建项目”对话框中选择“空白解决方案”模
文档评论(0)