ID:   密码:   验证码:  
我的知识库
服务器-WEB服务器
服务器-FTP服务器
服务器-安全防护
IDC业务相关
网络编程-ASP
网络编程-PHP
网络编程-.NET
网络编程-XML
数据库-Access
数据库-Mssql
数据库-Mysql
主机相关问题
域名相关问题
邮局相关问题
付款相关问题
相关文本合同
游戏技术-传奇私服架设
游戏技术-传奇脚本信息
游戏技术-传世私服
常用软件下载
首页 >> 我的知识库>>网络编程-.NET>> ASP.NET立即上手教程(7)  
ASP.NET立即上手教程(7)
[ 作者:  | 文章来源: 网页教学网 | 点击数: 496 | 更新时间: 2007-10-13 17:40:26 ]

Web Forms 用户控件

用户控件介绍

除了ASP.NET提供的内建的服务器控件外,你还可以使用已经掌握的制作WEB FORMS 页面的技术,轻松的定义自己的控件。实际上,只需要稍微改动一下,几乎任何WEB FORMS页面都可以作为服务器控件,在其他页面上重复使用。(注意用户控件的类型是System.Web.UI.UserControl, 它直接从System.Web.UI.Control继承而来)。 Web Forms 页面被作为服务器控件使用的时候,简称为用户控件。转变之后,通常使用.ascx扩展名来表明用户控件。这就保证了用户控件文件不能作为一个单独的web form页面来执行(你可以明白,在用户控件和web forms 页面之间,有一点,但是很重要的区别)。用户控件使用Register(注册)指令包含在Web Forms 页面中:

Spdns@com

<%@ Register TagPrefix="Acme" TagName="Message" Src="pagelet1.ascx" %> 南通服务器网

TagPrefix 为用户控件确定了唯一的名称空间。(这样,具有相同名字的多个用户控件可以互相区分). TagName 的值是用户控件的唯一名称(你可以使用任何名字)。 Src 属性是用户控件的虚拟路径—例如"MyPagelet.ascx" 或者 "/MyApp/Include/MyPagelet.ascx"。 注册用户控件之后,你可以在web forms页面中放置用户控件标签,就像是用平常的服务器控件一样(包含runat="server" 属性):

中.国.南通服务器网

Www^Spdns^com

下面的例子展示了web forms页面引入用户控件的情况。本例中的用户控件仅仅是一个简单的静态文件。 中国.南通服务器网

扩展用户控件的属性 Spdns_com

当web forms页面作为用户控件处理的时候,web forms页面的公共字段和方法升级为公共属性(即标签属性)和公共方法(标签的方法)。下面的例子将上一个例子中的用户控件进行延伸,增加了两个公共 String字段。注意这两个字段既可以在包含页中直接声明,也可以用程序来控制。

Spdns

除了将公共字段升级为控件属性外,也可以使用属性语法。 使用属性语法胜过为了设定或者取得属性值而执行代码。下面的例子示范了一个Address 用户控件,他绑定了TextBox 控件的text 属性。这样做的好处在于该控件“免费”继承了TextBox 控件的自动状态管理。注意在包含web forms页面中有两个Address 用户控件,分别为"Billing Address" 和 "Shipping Address" 设置Caption 属性。用户控件的真正强大之处就是这种重复利用。

Spdns~com

用户控件的另一个有用之处是 Login 控件,用来收集用户名和密码。 Spdns@com

在这个例子中,服务器验证控件添加到了Login用户控件中

Www.Spdns.com

在用户控件中封装事件

Spdns

如同普通的服务器控件一样,用户控件参与整个请求执行的生命周期。这就意味着,用户控件能够操作自己的事件,从包含web forms页中封装某些页面逻辑。 Www.Spdns.com

下面的例子演示了一个产品列表用户控件,它在内部处理了自己的提交返回。注意用户控件自身没有绑定

控件。因为只有一个表单控件出现在页面上(asp.net不允许嵌套服务器表单),于是留给包含web forms 页面去定义他。 [南通服务器网]

用程序创建用户控件 中.国南通服务器网

如同普通服务器控件可以用程序创建一样,用户控件也一样。页面的LoadControl方法用来载入用户控件,同时将虚拟路径传递给用户控件的源文件所在。

中国南通服务器网,为中文网南通服务器网

<%@ Control ClassName="Pagelet7CS" %>

Www~Spdns~com

因为LoadControl 方法返回的类型是System.Web.UI.Control, 所以为了设置用户控件的个别属性,它必须抛出适当的强类型。最终,用户控件加入到基本页面的ControlCollection 集合中。 南通服务器网

重要提示 对于包含用户控件的web forms 页面,只有当Register 命令包含了用户控件(即使没有用户控件标签被实际声明),用户控件的强类型才是可利用的。 Www~Spdns~com

本章小结 南通服务器网

1、用户控件允许开发者使用创建web forms页面所使用的程序设计技术,轻松的创建自定义控件。 中国.南通服务器网

2、作为与普通页面的区别,使用.ascx 文件扩展名来表明用户控件。这就保证了用户控件不能像标准web forms页面那样执行。

[南通服务器网]

3、使用Register 命令,将用户控件包含在web forms页面中。Register 命令指定了TagPrefix, TagName, 和Src location。 [南通服务器网]

4、注册了用户控件之后,就可以像对待普通服务器控件那样,使用用户控件(包含runat="server" 属性)。 中.国.南通服务器网

5、用户控件被包含在web forms 页面中以后,他的公共字段、属性和方法升级为控件的公共属性(标签属性)和方法。

Www.Spdns.com

6、用户控件参与每个客户端请求的整个生命周期,并且处理自身的事件,封装了部分包含他的web forms页面的页面逻辑。 Www.Spdns.com

7、用户控件不能包含任何form控件。如果需要的话,可以在包含他的web form页面中使用form控件。 Spdns_com

8、用户控件可以用System.Web.UI.Page类的LoadControl方法用用程序来创建。用户控件的类型由Control 命令的ClassName 属性所决定。

中国南通服务器网

9、对于包含用户控件的web forms 页面,只有当Register 命令包含了用户控件(即使没有用户控件标签被实际声明),用户控件的强类型才是可利用的。 中国南通服务器网

Tags:ASP.NET 上手 教程
责任编辑:阿小



评论
收藏
推荐
打印
关闭
字体:+ -
纠错


Copyright © 1999-2007 诚信 合法 规范的南通服务器网 www.spdns.com 始建于1996
企业总机:400-618-5529(只收市话费) 未开通400地区:0513-83015999 / 84012988 / 84519829
上海亿流数码科技有限公司 地址:江苏省南通市如东电信局大楼3楼IDC运维部
《中华人民共和国增值电信业务经营许可证》沪B2-20060518号
信息产业部备案编号:苏ICP备05009350号
电子执照:沪企3102272090823