【发布时间】:2012-03-13 18:29:43
【问题描述】:
我正在寻找一种方法来传递用户控件的标记,即对页面中存在的其他用户控件的引用。此时我正在使用带有控件名称的字符串属性来执行此操作,并且在代码隐藏中我使用 FindControl 来获取它,这样:
<uc2:ctlMyControl ID="MyControl1" runat="server"
ReferencedControl="TheIdOfOtherControlInThePage" />
在服务器端:
public string mvarReferencedControl= "";
public string ReferencedControl {
get
{
return mvarReferencedControl;
}
set
{
mvarReferencedControl = value;
}
}
我想知道是否有更好的方法来做到这一点,不是传递带有控件名称的字符串,而是传递控件本身在“控件”属性中,所以我直接引用了控件和避免执行 FindControl。
【问题讨论】:
-
究竟想要达到什么目的?>
-
当你想在标记中设置它时不是,因为它必须是可序列化的。但除此之外没问题。您始终可以在属性中返回对 UserControl/Page 的另一个控件的引用。
-
那么你认为使用户控件可序列化是可以实现的吗,蒂姆?
标签: asp.net user-controls properties markup