ASP.NET2.0加载用户控件
2010-08-08 17:02
267 查看
<!--这是某个aspx页-->
.....
<%@ Register Src="TestControl.ascx" TagName="TestControl" TagPrefix="MyControl" %>
.....
<MyControl:TestControl ID="TestControl1" runat="server" />
.....
若TestControl.ascx控件中含有DoSomething方法,且访问级别为public,则我们可以在cs代码中这样直接调用该方法如下:
//cs代码文件
....
TestControl1.DoSomething();
....
方法二: 动态加载的用户控件
对于通过Page.LoadControl()方法来动态加载的用户控件我们可以这样做:
//cs文件
.....
ASP.testcontrol_ascx TestControl1 = (ASP.testcontrol_ascx)Page.LoadControl("TestControl.ascx");
TestControl1.DoSomething();
方法三: 利用Page.Pase方法动态加载控件
对于通过Page.ParseControl()方法来动态加载的用户控件我们可以这样做:
Control control = this.Page.ParseControl(@"<%@ Register Src=""TestControl .ascx"" TagName=""TestControl"" TagPrefix=""MyControl"" %> <MyControl:TestControl ID=""TestControl1 runat=""server"" />");
this.Page.Controls.Add(control);
name 用来指定你的控件名称,至于控件要显示的内容就与这边的代码无关。
Response.Clear();
StringBuilder sb = new StringBuilder();
System.IO.StringWriter sw = new System.IO.StringWriter(sb);
HtmlTextWriter writer = new HtmlTextWriter(sw);
Control d = LoadControl(name + ".ascx");
d.RenderControl(writer);
Response.Write(sb.ToString());
Response.End();
.....
<%@ Register Src="TestControl.ascx" TagName="TestControl" TagPrefix="MyControl" %>
.....
<MyControl:TestControl ID="TestControl1" runat="server" />
.....
若TestControl.ascx控件中含有DoSomething方法,且访问级别为public,则我们可以在cs代码中这样直接调用该方法如下:
//cs代码文件
....
TestControl1.DoSomething();
....
方法二: 动态加载的用户控件
对于通过Page.LoadControl()方法来动态加载的用户控件我们可以这样做:
//cs文件
.....
ASP.testcontrol_ascx TestControl1 = (ASP.testcontrol_ascx)Page.LoadControl("TestControl.ascx");
TestControl1.DoSomething();
方法三: 利用Page.Pase方法动态加载控件
对于通过Page.ParseControl()方法来动态加载的用户控件我们可以这样做:
Control control = this.Page.ParseControl(@"<%@ Register Src=""TestControl .ascx"" TagName=""TestControl"" TagPrefix=""MyControl"" %> <MyControl:TestControl ID=""TestControl1 runat=""server"" />");
this.Page.Controls.Add(control);
利用js调用用户自定义控件
下面代码可以在你利用js调用时,某一个aspx页面的输出,把这个输出传回指定的div或其他什么的,就可以实现加载自定义控件的效果name 用来指定你的控件名称,至于控件要显示的内容就与这边的代码无关。
Response.Clear();
StringBuilder sb = new StringBuilder();
System.IO.StringWriter sw = new System.IO.StringWriter(sb);
HtmlTextWriter writer = new HtmlTextWriter(sw);
Control d = LoadControl(name + ".ascx");
d.RenderControl(writer);
Response.Write(sb.ToString());
Response.End();
相关文章推荐
- Asp.net2.0加载用户控件的三种方法
- [ASP.NET2.0]动态加载用户控件
- ASP.NET2.0页面,master页面,用户控件加载执行顺序
- Asp.net2.0加载用户控件的三种方法
- Asp.net 2.0 动态加载其他子目录用户控件问题
- 结合DataList, 动态加载用户控件
- asp.net动态加载用户控件,关于后台添加、修改的思考
- C# aspx页面动态加载ascx用户控件 及 利用反射调用其内方法
- 动态加载用户控件的组件!(终结MasterPages技术)
- asp.net 动态加载用户控件
- 页面加载完毕添加用户控件
- Ajax 动态加载 用户控件脚本报 "缺少对象" 的错误!
- 动态加载用户控件函数
- 用户控件动态加载PostBack后的问题
- asp.net动态加载用户控件,关于后台添加、修改的思考
- Asp.net 2.0 动态加载其他子目录用户控件问题
- ASP.net中的AJAX学习记录五:动态加载用户控件(Calendar控件为例)
- ASP.NET MVC加载用户控件后并获取其内控件值或赋值
- 如何实现动态加载用户控件
- 【译】All-In-One:加载嵌入资源中的用户控件