Я добавляю пользовательские элементы управления динамически к повторителю при привязке к элементу данных. Проблема в том, что я не могу найти пользовательский контроль для более поздних событий, таких как save.
<asp:Repeater runat="server" ID="rptTabContainers">
<ItemTemplate>
<asp:Panel runat="server" ID="pnlBody" ClientIDMode="Predictable" CssClass="panel-body">
</asp:Panel>
</ItemTemplate>
</asp:Repeater>
чем по пункту данных:
For Each r As DataRow In items.Rows
Dim ItemType As String = r.Item("ItemType").ToString()
Select Case ItemType
Case "CheckBoxList", "RadioButtonList"
Dim ctr As ctrl_VAMportfolio_CheckBoxList = CType(LoadControl("~/DW2/include/code/controls/VAM/ctrl_VAMportfolio_CheckBoxList.ascx"), ctrl_VAMportfolio_CheckBoxList)
With ctr
.ItemNumber = r.Item("ItemNo").ToString()
.ItemText = r.Item("ItemText").ToString()
.ID = String.Format("ctrl_{0}_{1}", DomainID, r.Item("ItemNo"))
.ListItems = XMLtoList(r.Item("ItemOptions"))
.MultipleSelect = (ItemType = "CheckBoxList")
.ClientIDMode = ClientIDMode.Static
End With
pnlBody.Controls.Add(ctr)
Case "ctrlRadioAndTextExplanation"
Dim ctr As ctrlRadioAndTextExplanation = CType(LoadControl("~/DW2/include/code/controls/VAM/ctrlRadioAndTextExplanation.ascx"), ctrlRadioAndTextExplanation)
With ctr
.ItemNumber = r.Item("ItemNo").ToString()
.ID = String.Format("ctrl_{0}_{1}", DomainID, r.Item("ItemNo"))
.ClientIDMode = ClientIDMode.Static
End With
pnlBody.Controls.Add(ctr)
Case "Upload", "Download"
Dim ctr As ctrl_VAMportfolio_Upload = CType(LoadControl("~/DW2/include/code/controls/VAM/ctrl_VAMportfolio_Upload.ascx"), ctrl_VAMportfolio_Upload)
With ctr
.ItemNumber = r.Item("ItemNo").ToString()
.ItemText = r.Item("ItemText").ToString()
.DomainID = DomainID
.PortfolioID = EvaluationID
.ID = String.Format("ctrl_{0}_{1}", DomainID, r.Item("ItemNo"))
.ClientIDMode = ClientIDMode.Static
End With
Dim fu As New FileUpload()
fu.ID = String.Format("FileUpload{0}_{1}", DomainID, r.Item("ItemNo"))
fu.AllowMultiple = True
fu.Attributes.Add("style", "display:none;")
pnlBody.Controls.Add(ctr)
End Select
Next
Что ж, я пытаюсь получить данные от пользовательских контроллеров в репитере, но ничего не возвращается.
Спасибо за вашу помощь