您可以在此处找到如何以编程方式将用户控件添加到页面的演练:http: //msdn.microsoft.com/en-us/library/c0az2h86 (v=vs.100).aspx
在你的情况下,你需要在你的UserControlFile.ascx
控制中这样的东西(className
属性是重要的一点):
<%@ Control Language="C#" AutoEventWireup="true" CodeFile="UserControlFile.ascx.cs" Inherits="UserControlFile" className="MyUserControl" %>
<asp:Label ID="vhLabel" runat="server"></asp:Label>
然后,在包含控件的页面顶部(更改适合您的结构的文件路径):
<%@ Reference Control="~/Controls/UserControlFile.ascx" %>
最后,页面后面的代码将包含通过LoadControl
方法和类型的使用以编程方式添加控件实例的代码 - 在上面 @Control 指令MyUserControl
的属性中定义:className
protected void Page_Load(object sender, EventArgs e)
{
var control = (ASP.MyUserControl)LoadControl("~/Controls/UserControlFile.ascx");
control.vhText = "1";
Page.Controls.Add(control);
control = (ASP.MyUserControl)LoadControl("~/Controls/UserControlFile.ascx");
control.vhText = "2";
Page.Controls.Add(control);
/* etc... */
}
那应该为您指明正确的方向...