ASP.NET在运行时分配按钮onclick

时间:2017-04-13 00:00:47

标签: asp.net ajax vb.net

我正在使用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按钮并根据场景制作正确的按钮,但添加更多用户需要确认的场景意味着添加更多按钮...

0 个答案:

没有答案