【发布时间】:2010-11-14 01:16:46
【问题描述】:
我有一个看起来像这样的控件:
public class MyControl : Control
{
[Bindable(true)]
public MyControl MyControlParent { get; set; }
// snip
}
在我的标记中,我想要以下内容:
<tag:MyControl ID="foo" runat="server">
<tag:MyControl ID="bar" MyControlParent="foo" runat="server"></tag:MyControl>
</tag:MyControl>
我希望能够这样命名父母的原因是因为我也希望能够做这样的事情: 或
<tag:MyControl ID="foo" runat="server">
<tag:MyControl ID="foobar" runat="server">
<tag:MyControl ID="bar" MyControlParent="foo" runat="server"></tag:MyControl>
</tag:MyControl>
</tag:MyControl>
或
<tag:MyControl ID="foo" runat="server"></tag:MyControl>
<!-- snip -->
<tag:MyControl ID="bar" MyControlParent="foo" runat="server"></tag:MyControl>
我尝试添加一个类型转换器,但它在设置 HttpContext.Current.Handler 之前触发,这意味着我无法在页面控件中搜索所需的 MyControl 实例。此控件中的父子关系赋予属性值的某些继承,并且不一定(读作不应该)暗示控件树中的父子关系。
这个问题是否有(实用的)解决方案,或者我只是想要比现在可能的更多? =)
干杯
//丹尼尔
【问题讨论】:
标签: asp.net binding custom-controls markup typeconverter