实现模板和访问控件属性

时间:2012-04-24 15:18:08

标签: asp.net custom-controls

我正在尝试开发一个自定义GridView控件,其属性为 OpenFormModal ModalWindowWidth ModalWindowHeight 等等。

从CustomGridView类我调用CustomGVITemplate的实例:

Protected Overrides Function CreateColumns(ByVal dataSource As PagedDataSource, ByVal useDataSource As Boolean) As ICollection
    Dim columnList As ICollection = MyBase.CreateColumns(dataSource, useDataSource)
    Dim cmdDel As New TemplateField
    cmdDel.ItemTemplate = New CustomGVITemplate(ListItemType.Item, "delete")
    'I CAN'T ASSING VALUE TO CUSTOM PROPERTIES HERE
    list.Add(cmdDel)
End Function

问题是,我应该从CustomGVITemplate类中的 InstantiateIn 子内访问CustomGriedView属性,我知道这样做的唯一方法是通过

传递这些参数
New CustomGVITemplate(ListItemType.Item, "delete", ALL-OTHER-PROPERTIES-HERE)

我不喜欢这个解决方案,因为我不得不做很多可选参数,所以并非所有调用都使用所有属性,而且,我找不到在CustomGVITemplate中定义属性并为它们赋值的方法。

其他可能的解决方案?

谢谢

1 个答案:

答案 0 :(得分:0)

解决:问题是我试图在CreateColumns事件中访问值和权限,当数据尚未绑定时,解决方案是在CreateColumns事件中创建CommandButton(或Button)并在以后访问属性和DataKeys RowCommand或按钮OnClick事件。