我一直在尝试在自定义网页控件(DropDownMenu
)中创建一个属性,该控件引用页面上的另一个控件(Button
)。
这是我的财产声明(在DropDownMenu
内):
<Bindable(True), Category("Behaviour"), Localizable(True)>
Private _ToggleParent As Control
Public Property ToggleParent As Control
Get
Return _ToggleParent
End Get
Set(value As Control)
_ToggleParent = value
End Set
End Property
这是我的标记:
<boot:Button runat="server" ID="t1" Text="hi" />
<boot:DropDownMenu runat="server" ToggleParent="t1" >
<MenuItems>
<boot:MenuItem runat="server" Text="test"></boot:MenuItem>
<boot:MenuItem runat="server" Text="test"></boot:MenuItem>
</MenuItems>
</boot:DropDownMenu>
这就是我得到的错误:
Cannot create an object of type 'System.Web.UI.Control' from its string representation 't1' for the 'ToggleParent' property.
如果删除引号,则会出现同样的错误。我理解我可以FindControl
基于控件ID的字符串表示,但我更喜欢直接通过属性传递控件。