У меня есть кнопки, содержащиеся в репитере. ModalPopupExtender используется для подтверждения события для каждой кнопки. Я создаю стандартные панели за пределами ретранслятора, и я прикрепляю каждую кнопку в ретрансляторе к этим панелям изнутри ретранслятора. Проблема заключается в том, что после нажатия кнопки во всплывающем окне я не могу понять, как определить, какую строку ретранслятора редактировать, поскольку я не могу понять, как определить, какая кнопка была нажата. Группа:Как получить конкретную кнопку, нажатую в повторителе при использовании ModalPopupExtender
<asp:Panel ID="pnlRemoveAlert" runat="server" >
<h1 align="center">Remove Phone</h1>
<asp:Button ID="butRemove" runat="server" OnCommand="Handle_Click" CommandName="Remove" Text="Continue"/>
<asp:Button ID="butRemoveCancel" runat="server" Text="Cancel"/>
</asp:Panel>
Repeater:
<asp:Repeater ID="repPhoneNumbers" runat="server" OnItemDataBound="setButtonModals">
<ItemTemplate>
...
<asp:Button ID="btnStatus" runat="server"/>
<asp:Button ID="dummybutton" runat="Server" Visible="false" />
<ajaxToolkit:ModalPopupExtender ID="mpeEnable" runat="server" TargetControlID = "btnStatus
CancelControlID="butEnableCancel"
PopupControlID="pnlEnableAlert"/>
...
Ручка события:
Protected Sub Handle_Click(ByVal sender As Object, ByVal e As CommandEventArgs)
'I need to know which row of the repeater to deal with here
End Sub
Потому что команда Commarg не будет доступна с модальной панели. Когда вы нажмете эту кнопку, он откроет modaldialog, и оттуда вы нажмете еще одну кнопку, чтобы продолжить. Cammand arg должен был бы определить, как установить вторую кнопку, но значение будет неизвестно до события. – NomadicDeveloper