Ich habe einen Datalist mit Binddata aus Code hinter und ich versuche, einen Ajax modalpopupextender zu jedem Element hinzuzufügen. Dieses modalpopup muss das rechte Panel mit dem Problem öffnen, dass die Zielkontroll-ID immer dieselbe Schaltfläche am Ende der Seite ist.Öffnen Sie einen ModalPopupExtender aus der aktivierten Radiobutton in einem Datenlogger
Ich bekomme den Radiobutton ausgewählt, aber ich kann das modalpopup nicht öffnen, das äquivalent ist. Es öffnet immer das erste Panel.
Kann mir jemand helfen? Ist das überhaupt möglich?
C#
protected void btnValidateGift_Click(object sender, EventArgs e)
{
if (Request.Form["gift"] != null)
{
}
}
aspx
<asp:DataList ID="datalistReward" runat="server" RepeatDirection="Vertical" RepeatColumns="3" CssClass="datalistGift">
<ItemTemplate>
<div class="giftDiv">
<div class="giftTitle">
<%# DataBinder.Eval(Container.DataItem, "name") %>
</div>
<div>
<img width="60%" src="img/brindes/<%# DataBinder.Eval(Container.DataItem, "img") %>.png" />
</div>
<div id="divRadioBtnGift" runat="server" style="width: 10%; margin: auto;">
<input type='radio' id='radioBtnGift_<%# DataBinder.Eval(Container.DataItem, "value") %>'
name='gift' value='<%# DataBinder.Eval(Container.DataItem, "id") %>' />
</div>
</div>
<asp:ModalPopupExtender ID="ModalPopUpReward" BehaviorID="modalBehaviorPopupReward" runat="server" PopupControlID="panelSelectReward"
CancelControlID="btnCloseReward" BackgroundCssClass="modalBackground" TargetControlID="btnValidateGift" />
<asp:Panel ID="panelSelectReward" runat="server" CssClass="modalPopup" align="center" Style="display: none">
<div style="background-color: aqua; border: 1px solid red;">
<img width="60%" src="img/brindes/<%# DataBinder.Eval(Container.DataItem, "img") %>.png" />
<asp:ImageButton ID="btnCloseReward" runat="server" Text="Close" OnClientClick="CloseModalPopUp()" />
</div>
</asp:Panel>
</ItemTemplate>
</asp:DataList>
<asp:Button ID="btnValidateGift" Text="Validar >" runat="server" CssClass="divButton" OnClick="btnValidateGift_Click" />
Edit1: Ich habe versucht, die eine benutzerdefinierte Zeichenfolge an der Tafel ID wie dieses <% # DataBinder.Eval (Container.DataItem "hinzufügen id ")%>. Das kompiliert sich aber nicht. Gibt es eine Chance, dass das funktioniert?
Das ist sehr ähnlich zu der Lösung, die ich gefunden habe. Und es funktioniert. Danke, dass Sie sich die Zeit genommen haben zu antworten. – Lucky