我在某些情况下遇到问题。我有一个中继器控件,里面有一个占位符(为了测试,我已经放置了一个 div 并尝试过)。我想在页面后面的代码中找到该占位符或 div,并将控件放入其中(目前,3 个文本框和 2 个按钮)
我对向占位符添加控件没有任何问题,我了解它是如何工作的,我在这里无法获得的是如何在这里找到这个动态控件。
这里有一些代码片段来帮助说明我正在尝试做的事情。
(ASP)
<asp:Repeater id="rptSpecialNotes" runat="server">
<ItemTemplate>
<asp:UpdatePanel ID="udpSpecialNotesRepeater" runat="server">
<ContentTemplate>
<asp:PlaceHolder ID="plhSpecialNotesRepeater" runat="server">
</asp:PlaceHolder>
</ContentTemplate>
</asp:UpdatePanel>
<p><%# eval("subject") %></p>
<div id="specialNotes" runat="server"></div>
<asp:imagebutton runat="server" AlternateText="add Motion" ImageUrl="images/controls/Exclaim.png" width="40" height="40"></asp:imagebutton>
<asp:imagebutton runat="server" AlternateText="add document" ImageUrl="images/controls/Documents.png" width="40" height="40"></asp:imagebutton>
<asp:imagebutton runat="server" AlternateText="move up" ImageUrl="images/controls/Arrow-Up.png" width="40" height="40" CommandName="moveUp" CommandArgument='<%# Container.ItemIndex & "," & eval("ItemID") %>'></asp:imagebutton>
<asp:imagebutton runat="server" AlternateText="move down" ImageUrl="images/controls/Arrow-Down.png" width="40" height="40" CommandName="moveDown" CommandArgument='<%# Container.ItemIndex & "," & eval("ItemID") %>'></asp:imagebutton>
<asp:imagebutton runat="server" AlternateText="delete" ImageUrl="images/controls/Delete.png" width="40" height="40" CommandName="delete" CommandArgument='<%# Container.ItemIndex & "," & eval("ItemID") %>'></asp:imagebutton>
<asp:imagebutton runat="server" AlternateText="edit" ImageUrl="images/controls/Globe.png" width="40" height="40" CommandName="edit" CommandArgument='<%# Container.ItemIndex & "," & eval("ItemID") %>'></asp:imagebutton>
</ItemTemplate>
</asp:Repeater>
图像按钮编辑,点击 rptSpecialNotes_Item 命令,该命令调用一个方法(编辑特殊注释),看起来像这样
Dim commandArguments() As String = Split(e.CommandArgument, ",")
Dim divId As String = commandArguments(0)
Dim itemId As String = commandArguments(1)
'determine action based on command name
If e.CommandName = "edit" Then
Call editSpecialNotes(itemId,divId)
End If
和编辑特别说明是将东西放在给定的divID中。为了让它工作,我给了 divID 一个我知道存在的静态值 (rptSpecialNotes_plhSpecialNotesRepeater_1) 或类似程度的东西。但是,我总是得到一个空对象引用。