您现在的位置:网络学院 > 开发教室 > 跟我学.net
ASP.NET(bata2)立即上手教程(c#版)-7-2

出处:PConline
责任编辑:zwg

[02-4-23 15:01] 作者:wincheer翻译/ourasp.net


ASP.NET(bata2)立即上手教程(c#版)-7

Web Forms 用户控件

在用户控件中封装事件

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

  下面的例子演示了一个产品列表用户控件,它在内部处理了自己的提交返回。注意用户控件自身没有绑定< form runat="server" >控件。因为只有一个表单控件出现在页面上(asp.net不允许嵌套服务器表单),于是留给包含web forms 页面去定义他。


C# Pagelet6.aspx
[运行] | [源文件]

用程序创建用户控件

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

Control c1 = LoadControl("pagelet7.ascx");
((Pagelet7CS)c1).Category = "business";
Page.Controls.Add(c1);


  用户控件的类型是由Control 命令的ClassName 属性所决定。例如下面的例子,一个文件名保存为"pagelet7.ascx"的用户控件被赋值为 "Pagelet7CS" 强类型:

< %@ Control ClassName="Pagelet7CS" % >

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


C# Pagelet7.aspx
[运行] | [源文件]

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

[下一页]


相关文章:

ASP.NET(bata2)立即上手教程(c#版)-1
ASP.NET(bata2)立即上手教程(c#版)-2
ASP.NET(bata2)立即上手教程(c#版)-3
ASP.NET(bata2)立即上手教程(c#版)-4
ASP.NET(bata2)立即上手教程(c#版)-5
ASP.NET(bata2)立即上手教程(c#版)-6-1
ASP.NET(bata2)立即上手教程(c#版)-6-2
ASP.NET(bata2)立即上手教程(c#版)-7-1


内容搜索 
高级搜索

本栏今日焦点