在这个动态加载用户控件的示例中,如何声明“TimeDisplay”?这可以在后面的代码中完成,还是在ascx页面中完成?这是一本书中的一个例子,我想有关于代码文件相对于彼此的位置的假设?
protected void Page_Load(object sender, EventArgs e)
{ TimeDisplay ctrl = (TimeDisplay)Page.LoadControl("TimeDisplay.ascx");
PlaceHolder1.Controls.Add(ctrl);
}
答案 0 :(得分:1)
您需要在aspx页面中添加对该控件的引用:
<%@ Reference Control="~/Controls_Path/TimeDisplay.ascx" %>
答案 1 :(得分: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" %>