Kev*_*vin 3 asp.net checkboxlist itemplate
我正在尝试为标准CheckBoxList控件创建更详细的项模板.它公开了一个名为TemplateControl的ITemplate属性,但我无法找到关于如何实际使用它的简单资源.这是我到目前为止的代码:
Protected Overrides Sub OnLoad(ByVal e As System.EventArgs)
MyBase.OnLoad(e)
Dim items As New List(Of ListItem)
items.Add(New ListItem() With {.Text = "A", .Value = "1"})
items.Add(New ListItem() With {.Text = "B", .Value = "2"})
items.Add(New ListItem() With {.Text = "C", .Value = "3"})
Dim lst As New CheckBoxList()
Dim tpl As ITemplate = LoadTemplate("~/CustomListItem.ascx")
Dim g As New TemplateControlWrapper()
tpl.InstantiateIn(g)
lst.TemplateControl = g
lst.DataSource = items
lst.DataBind()
Form.Controls.Add(lst)
End Sub
Class TemplateControlWrapper
Inherits UserControl
End Class
Run Code Online (Sandbox Code Playgroud)
它似乎完全忽略了TemplateControl属性.有任何想法吗?
CheckBoxList的TemplateControl属性实际上不允许您修改CheckBoxList的模板.这是一个从System.Web.UI.Control一直继承的属性,它表示CheckBoxList所在的模板化控件,或者换句话说,.aspx页面,.ascx用户控件或控件的母版页继续生活.(如果控件是作为复合控件的一部分包含的,老实说,如果不试验TemplateControl属性是否会返回null,或者继续向上控制链直到它找到一个Page或UserControl,我真的不知道.)
CheckBoxList控件不提供您要查看的那种模板修改.您可能需要自定义绑定Repeater或DataList(使用ItemTemplate中的CheckBox控件)以实现您正在寻找的功能.
| 归档时间: |
|
| 查看次数: |
6808 次 |
| 最近记录: |