当前位置:编程学习 > C#/ASP.NET >>

如何实例化用户控件?

如何实例化用户控件? --------------------编程问答-------------------- 用户控件只要拖入页面就完成实例化了!!
楼主需要用代码来实例化???? --------------------编程问答-------------------- 摘自网上:

因为用户控件的类型是动态生成的,所以用户控件不能使用实例化一个类的new语法来通过编程方式创建。
要通过编程方式创建用户控件,一定要调用包含页面的LoadControl方法。LoadControl方法接收到用户控件
的相对路径并且返回类型为Control的对角,可以将该对角转换成用户控件的强类型。
<%Reference Control="UserControls/LinkGlyph.ascx"%>
Reference指令为用户控件指定到.ascx文件的相对路径。
当一个页面通过编程方式创建用户控件的时候,如果它没有用户控件的任何声明实例 ,则不需要为用户控件注册一个标签前缀或标签名字。
这种情况下,页面应该用Reference指令取代Register指令。
程序清单
<%@ page Language="C#"%>
<%@ Reference Control="UserControls/LinkGlyph.ascx"%>
<html>
<head>
<script runat="server">
protected override void OnLoad(EventArgs e)
{
 LinkGlyph demo=(LinkGlyph)Page.LoadControl("UserControls/LinkGlyph.ascx");
 demo.NavigateUrl="CruiseSelectorTest.aspx";
 demo.Text="Click Me";
 holder.Controls.Add(demo);
}
</script>
</head>
<boyd>
 <form id="form" runat="server">
 <p>
  <asp:PlaceHolder id="holder" runat="server"/>
 </p>
 </form>
</boyd>
</html>
--------------------编程问答-------------------- 在页面添加用户控件
或LoadControl
System.Web.UI.Control a = (System.Web.UI.Control)this.LoadControl("");
this.plhRight.Controls.Add(a);
补充:.NET技术 ,  ASP.NET
CopyRight © 2022 站长资源库 编程知识问答 zzzyk.com All Rights Reserved
部分文章来自网络,