【发布时间】:2009-09-07 14:58:15
【问题描述】:
我已经创建了一个 aspx 页面,我需要从中访问 Usercontrol 的属性。
注意:用户控件未在页面中注册,它是使用 Loadcontrol 动态加载的。
即使我在输入用户控件的精确类名时也感到疑惑,但它无法解决。 那么我如何为用户控制创建对象..而不访问公共类 你能帮帮我吗?
提前致谢。
【问题讨论】:
标签: asp.net user-controls
我已经创建了一个 aspx 页面,我需要从中访问 Usercontrol 的属性。
注意:用户控件未在页面中注册,它是使用 Loadcontrol 动态加载的。
即使我在输入用户控件的精确类名时也感到疑惑,但它无法解决。 那么我如何为用户控制创建对象..而不访问公共类 你能帮帮我吗?
提前致谢。
【问题讨论】:
标签: asp.net user-controls
Control c = LoadControl("~/Sample.ascx");
form1.Controls.Add(c);
编辑: 可以使用注册用户控件的类名,
<%@ Register src="Sample.ascx" tagname="Sample" tagprefix="uc1" %>
代码:
Sample c =(Sample) LoadControl("~/Sample.ascx");
c.SomeProperty="value";
form1.Controls.Add(c);
【讨论】:
请参阅以下设计自定义控件的链接
http://msdn.microsoft.com/en-us/library/zt27tfhy.aspx
或者,如果您不想在 aspx 页面中注册,您可以在 web.config 中全局注册
<system.web>
<pages>
<controls>
<add assembly="My.Web.Controls"
namespace="My.Web.Controls"
tagPrefix="st" />
<add src="~/Controls/MyControl.ascx"
tagName="UserControl"
tagPrefix="uc" />
</controls>
</pages>
</system.web>
【讨论】: