0

在这个动态加载用户控件的示例中,如何声明“TimeDisplay”?这可以在后面的代码中完成,还是在 ascx 页面中完成?这是一本书的一个例子,我猜有关于代码文件相对于彼此的位置的假设?

protected void Page_Load(object sender, EventArgs e) 
{ TimeDisplay ctrl = (TimeDisplay)Page.LoadControl("TimeDisplay.ascx"); 
PlaceHolder1.Controls.Add(ctrl); 
}
4

2 回答 2

1

您确实需要在您的 aspx 页面中添加对控件的引用:

<%@ Reference Control="~/Controls_Path/TimeDisplay.ascx" %>
于 2011-10-19T18:53:40.833 回答
0

要在标记中声明控件,您需要在页面指令或web.config. web.config通常最好在其中注册控件,因为您可以在应用程序的任何位置使用该控件。

配置方法:

<pages>
    <controls>
        <add tagPrefix="uc1" src="~/controls/myusercontrol.ascx" tagName="myusercontrol" />
    </controls>
</pages>            

页面指​​令方法:

<%@ Register TagPrefix="uc1" TagName="MyUserControl" Src="~/controls/myusercontrol.ascx" %>
于 2011-10-19T19:02:41.583 回答