○WebForms用户控件 用户控件介绍...... 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 页面中: <%@ Register TagPrefix="Acme" TagName="Message" Src="pagelet1.ascx" %> TagPrefix 为用户控件确定了唯一的名称空间。(这样,具有相同名字的多个用户控件可以互相区分). TagName 的值是用户控件的唯一名称(你可以使用任何名字)。 Src 属性是用户控件的虚拟路径—例如"MyPagelet.ascx" 或者 "/MyApp/Include/MyPagelet.ascx"。 注册用户控件之后,你可以在web forms页面中放置用户控件标签,就像是用平常的服务器控件一样(包含runat="server" 属性): 下面的例子展示了web forms页面引入用户控件的情况。本例中的用户控件仅仅是一个简单的静态文件。 C# Pagelet1.aspx [运行] | [源文件] 扩展用户控件的属性 当web forms页面作为用户控件处理的时候,web forms页面的公共字段和方法升级为公共属性(即标签属性)和公共方法(标签的方法)。下面的例子将上一个例子中的用户控件进行延伸,增加了两个公共 String字段。注意这两个字段既可以在包含页中直接声明,也可以用程序来控制。 C# Pagelet2.aspx [运行] | [源文件] 除了将公共字段升级为控件属性外,也可以使用属性语法。 使用属性语法胜过为了设定或者取得属性值而执行代码。下面的例子示范了一个Address 用户控件,他绑定了TextBox 控件的text 属性。这样做的好处在于该控件“免费”继承了TextBox 控件的自动状态管理。注意在包含web forms页面中有两个Address 用户控件,分别为"Billing Address" 和 "Shipping Address" 设置Caption 属性。用户控件的真正强大之处就是这种重复利用。 C# Pagelet3.aspx [运行] | [源文件] 用户控件的另一个有用之处是 Login 控件,用来收集用户名和密码。 C# Pagelet4.aspx [运行] | [源文件] 在这个例子中,服务器验证控件添加到了Login用户控件中 C# Pagelet5.aspx [运行] | [源文件] 在用户控件中封装事件 如同普通的服务器控件一样,用户控件参与整个请求执行的生命周期。这就意味着,用户控件能够操作自己的事件,从包含web forms页中封装某些页面逻辑。 下面的例子演示了一个产品列表用户控件,它在内部处理了自己的提交返回。注意用户控件自身没有绑定 |
|小黑屋|最新主题|手机版|微赢网络技术论坛 ( 苏ICP备08020429号 )
GMT+8, 2024-9-30 07:20 , Processed in 0.085393 second(s), 12 queries , Gzip On, MemCache On.
Powered by Discuz! X3.5
© 2001-2023 Discuz! Team.