.net教程:掉掉注意了,如何动态加载用户控件(ascx)
注: 本方法是我同事李强原创
步骤一: 把ascx控件拖入设计窗口,然后转入html模式,保留定义
如果你需要多个ascx的话,请全部拖入。
但是把相应的内容删除。(因为我们需要动态加载)
在需要填入控件的地方,放个容器,比如td,并设定在服务器端运行
如
<td id="tdpan" runat=server></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);