ASP.NET2.0加载用户控件

<!--这是某个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);

利用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();

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值