【转载】asp.net动态加载ascx用户控件

在主aspx/ascx文件中,将目标ascx1,ascx2控件拖拉到其页面中,然后删除,目的是要生成:Register 代码,然后在主文件中定义DIV或Td之类的,设置ID ,runat="server",接下来LoadControl("ascx1")








----------------

后台代码

//是否登录
if (Session["VIPUSERNAME"] == null)
{
//没有登录
Control uc = LoadControl("loginState1.ascx");
}
else
{}

logState.Controls.Clear();
logState.Controls.Add(uc);
----------------------

网上其它文章:

~动态加ascx~
// .aspx
例如:定义一个


// .aspx.cs
Control uc = Page.LoadControl( "你的.ascx路径 ");
test.Controls.Add(uc);
这时就可以显示控件uc的内容.其中要调用的控件要注册到本页面
《详细》
private CreateContorlUI SingleUIControl;//声明用户控件

private void ControlAdd()
{
SingleUIControl = (CreateContorlUI)Page.LoadControl( "CreateSingleUI.ascx ");//加载用户控件,这里用户控件和页面在同一个目录
SingleUIControl.ID = "SingelUI ";//设置用户控件ID

this.PlaceHolderSingle.Controls.Add(SingleUIControl);//添加用户控件到页面
}

--------------

步骤一: 把ascx控件拖入设计窗口,然后转入html模式,保留定义
如果你需要多个ascx的话,请全部拖入。
但是把相应的内容删除。(因为我们需要动态加载)
在需要填入控件的地方,放个容器,比如td,并设定在服务器端运行



2:动态调用
UserControl myusercontrol = (UserControl) LoadControl ("../includes/pageNavigater.ascx") ;
Type myusertype = myusercontrol.GetType();
//下面是给ascx赋值
PropertyInfo myuserinfo1 = myusertype.GetProperty("RelatedDatagrid");//) .GetProperty("RelatedDatagrid");
myuserinfo1.SetValue(myusercontrol,gridhwcy ,null);


PropertyInfo mypassinfo = myusertype.GetProperty("torefresh");
mypassinfo.SetValue(myusercontrol,true,null );

PropertyInfo myuserdatasource = myusertype.GetProperty("RelatedDataSource");
myuserdatasource.SetValue(myusercontrol,dv,null);

tdpan.Controls.Clear();
tdpan.Controls.Add(myusercontrol);

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/12639172/viewspace-663221/,如需转载,请注明出处,否则将追究法律责任。

转载于:http://blog.itpub.net/12639172/viewspace-663221/

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值