欢迎来到小编的文章进行学习阅读,想必大家又有很多问题吧,在这里会有你想要收获的答案,请大家慢慢学习吧!编程语言有哪些
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页面引入用户控件的情况。本例中的用户控件仅仅是一个简单的静态文件。
扩展用户控件的属性
当web forms页面作为用户控件处理的时候,web forms页面的公共字段和方法升级为公共属性(即标签属性)和公共方法(标签的方法)。下面的例子将上一个例子中的用户控件进行延伸,增加了两个公共 String字段。注意这两个字段既可以在包含页中直接声明,也可以用程序来控制。
除了将公共字段升级为控件属性外,也可以使用属性语法。 使用属性语法胜过为了设定或者取得属性值而执行代码。下面的例子示范了一个Address 用户控件,他绑定了TextBox 控件的text 属性。这样做的好处在于该控件“免费”继承了TextBox 控件的自动状态管理。注意在包含web forms页面中有两个Address 用户控件,分别为”Billing Address” 和 “Shipping Address” 设置Caption 属性。用户控件的真正强大之处就是这种重复利用。
用户控件的另一个有用之处是 Login 控件,用来收集用户名和密码。
在这个例子中,服务器验证控件添加到了Login用户控件中
在用户控件中封装事件
如同普通的服务器控件一样,用户控件参与整个请求执行的生命周期。这就意味着,用户控件能够操作自己的事件,从包含web forms页中封装某些页面逻辑。
下面的例子演示了一个产品列表用户控件,它在内部处理了自己的提交返回。注意用户控件自身没有绑定