|
导读微软示例:就像您可以通过编程方式在 Web 窗体页上创建任意 ASP.NET 服务器控件的实例,您也可以通过使用包含页的 LoadControl 方法来做到这一点。但您首先必须使用@ Control... 微软示例:就像您可以通过编程方式在 Web 窗体页上创建任意 ASP.NET 服务器控件的实例,您也可以通过使用包含页的 LoadControl 方法来做到这一点。但您首先必须使用@ Control 指令的 className 属性将强类型与用户控件相关联。之所以需要这样是因为 LoadControl 方法返回 Control 类的类型,并且您需要将该用户控件转换为合适的强类型,以便设置该控件的各个属性。 以下代码使用 className 属性将 MyUserControl.ascx 文件中保存的用户控件转换为强类型。 <%@ Control className="MyUserControl" %> 以编程方式创建用户控件的实例
地址: ms-help://MS.VSCC/MS.MSDNVS.2052/cpguide/html/cpconinstantiatingusercontrolsprogrammatically.htm 鸿雪示例: 注: 本方法是我同事李强原创 步骤一: 把ascx控件拖入设计窗口,然后转入html模式,保留定义 如果你需要多个ascx的话,请全部拖入。 但是把相应的内容删除。(因为我们需要动态加载) 在需要填入控件的地方,放个容器,比如td,并设定在服务器端运行 如 <TDid="tdpan" runat=server></TD> 2:动态调用 UserControl myusercontrol = (UserControl) LoadControl ("../includes/pageNavigater.ascx") ; Type myusertype = myusercontrol.GetType(); //下面是给ascx赋值 PropertyInfomyuserinfo1 = myusertype.GetProperty("RelatedDatagrid");//) .GetProperty("RelatedDatagrid"); myuserinfo1.SetValue(myusercontrol,gridhwcy,null); PropertyInfomypassinfo = myusertype.GetProperty("torefresh"); mypassinfo.SetValue(myusercontrol,true,null ); PropertyInfomyuserdatasource = myusertype.GetProperty("RelatedDataSource"); myuserdatasource.SetValue(myusercontrol,dv,null); tdpan.Controls.Clear(); tdpan.Controls.Add(myusercontrol); 如果还有什么不明白,请和H.xue@163.net 联系 地址: http://www.dev-club.com/club/bbs/showAnnounce.asp?id=1506069 |
温馨提示:喜欢本站的话,请收藏一下本站!