【问题标题】:Button Click automatically not triggering按钮点击自动不触发
【发布时间】:2012-03-27 20:47:57
【问题描述】:

我有一个按钮、链接按钮和一个 ModalPopup。

如果我点击 button1,我需要自动点击第二个按钮并启动 ModalPopup。但它根本没有触发。

谁能告诉我我哪里出错了?

这是我的 ModalPopup:

     <asp:UpdatePanel ID="UpdatePanel2" runat="server">
            <ContentTemplate>
                <asp:ModalPopupExtender ID="ModalPopupExtender1" runat="server" TargetControlID="LinkButton1"
                    PopupControlID="Panel1" BackgroundCssClass="modalBackground" DropShadow="False"
                    CancelControlID="CancelButton" />
                <asp:Panel ID="Panel1" runat="server" CssClass="modalPopup" Style="display: none;
                    width: 300px;">
                    <asp:HyperLink ID="DownloadLink" runat="server" ForeColor="#0066FF">Download</asp:HyperLink>
                    <asp:Button ID="CancelButton" CssClass="btn-blue" runat="server" Text="Cancel" />
                    <asp:Button ID="button1" runat="server" Text="Select Image" Style="position: absolute;
                    left: 400px; top: 500px; z-index: 99;"/>
                <asp:LinkButton ID="LinkButton1" OnClick="LinkButton1_Click" runat="server" Visible="true"
                    Style="position: absolute; left: 620px; top: 500px; z-index: 99;">Close</asp:LinkButton>                
               </asp:Panel>

                <br />
            </ContentTemplate>
    </asp:UpdatePanel>

这是我的代码隐藏:

第一个按钮:

Protected Sub button1_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles button1.Click

Linkbutton1_Click(Nothing,Nothing)

End Sub

第二个按钮:

Protected Sub Linkbutton1_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles 
Linkbutton1.Click

ModalPopupExtender1.Show

End Sub

【问题讨论】:

  • 尝试对“UpdatePanel”中的按钮使用“触发器”
  • @Praveen-刚刚尝试过,但还是一样。
  • 对于它的价值,你可以很容易地声明你的事件处理程序来观察多个事件:Protected Sub ShowDialog(ByVal sender As Object, ByVal e As EventArgs) Handles Linkbutton1.Click, button1.Click
  • @mellamokb-button1 是一个普通按钮,这里我没有提到。
  • @lthibodeaux-这是个好主意,但我想要的是在完成一些过程后在 button1_Click 事件结束时触发第二个按钮。

标签: asp.net button click


【解决方案1】:

除非我遗漏了什么,否则您使用的方法似乎不必要地复杂。只需创建一个打开对话框的方法,你可以在任何地方调用它...

protected void LinkButton1_Click(object sender, EventArgs e)
{
    //perform whatever logic you need

    //open the dialog
    ShowDialog();
}

protected void Button1_Click(object sender, EventArgs e)
{
    //perform whatever logic you need

    //open the dialog
    ShowDialog();
}

private void ShowDialog()
{
    ModalPopupExtender1.Show();
}

【讨论】:

    【解决方案2】:

    试试这个。对于第一个按钮单击中的代码。

    Linkbutton1_Click(sender, New System.EventArgs())
    

    【讨论】:

    • @Adam-刚才我指的是以前在 SO 上提出的问题,但不幸的是,这对我也不起作用。
    • 这不是解决此问题的正确方法,但为了将来参考,您可能希望从您所在的事件处理程序中传递EventArgs,或使用EventArgs.Empty。跨度>
    猜你喜欢
    • 1970-01-01
    • 2012-08-06
    • 2015-10-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-06-20
    相关资源
    最近更新 更多