我正在使用ajax模式弹出对话框让用户确认他们的操作。由于我有几个用户需要确认操作的场景,我想重新使用相同的弹出对话框,只更改当用户单击btnYes(确认操作)时触发的事件。 在代码隐藏(VB)后,我为弹出窗口分配了消息:
lblMessageConfirm.Text = strMessage
然后,在打开对话框之前,我想分配btnYes将在用户点击时触发的事件。我尝试了下面的方法,似乎没有一个工作:
AddHandler btnYes.Click, AddressOf Test '(this event does not do anything)
还
btnYes.Attributes.Add("onclick", "Test") '(this returns an error “Test is undefined”)
Test1是我想要分配给“Onclick”的子,它位于设置弹出窗口的页面后面的代码中:
Protected Sub Test(sender As Object, e As EventArgs)
MsgBox("Test ")
End Sub
我打开对话框:
ModalPopupExtender2.Show()
这是弹出窗口的html - 它确实显示,所以唯一的问题是尝试分配onclick事件。当我在HTML中添加“onclick”时,Test子运行
<cc1:ConfirmButtonExtender ID="cbe" runat="server"
DisplayModalPopupID="ModalPopupExtender2" TargetControlID="lnkDummy">
</cc1:ConfirmButtonExtender>
<cc1:ModalPopupExtender ID="ModalPopupExtender2" runat="server"
PopupControlID="pnlPopup2"
TargetControlID="lnkDummy"
CancelControlID="btnNo" >
</cc1:ModalPopupExtender>
<asp:Panel ID="pnlPopup2" runat="server" CssClass="modalPopup"
Style="display: none">
<div class="ModalHeader" runat="server">
Please Confirm ...
</div>
<div class="ModalBody" runat="server">
<asp:Label ID="lblMessageConfirm" runat="server">
</asp:Label>
</div>
<div class="ModalFooter">
<asp:Button ID="btnYes " runat="server"
CSSClass="ModalButton" Text="OK" />
</div>
</asp:Panel>
使用以下代码运行测试:
<asp:Button ID="btnYes " runat="server" CSSClass="ModalButton" Text="OK"
onclick="Test"/>
我使用2个Yes按钮并根据场景制作正确的按钮,但添加更多用户需要确认的场景意味着添加更多按钮...