我正在嘗試爲標準CheckBoxList控件創建更詳細的項目模板。它暴露了名爲TemplateControl的ITemplate屬性,但我無法找到如何實際使用它的簡單資源。這是我到目前爲止的代碼:用自定義UserControl替換CheckBoxList TemplateControl?
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
它似乎完全忽略了TemplateControl屬性。有任何想法嗎?
感謝您的直接答覆。這是在MSDN文檔中提到的任何地方,還是僅僅是常識? – Kevin 2010-02-01 20:42:18
不知道,我想我有一天在試圖遍歷父控樹並意識到必須有更好的方法時偶然偶然發現它。如果關於這個問題的文件不是很出色,這並不會讓我感到驚訝。 – 2010-02-01 20:47:41