嘿所以我是asp.net的新手,我正在尝试创建一个网站/表单,其中包含大量数据并使用它。我有一个调用submitButton_Click方法的提交按钮,但是我也有一个modalpopup,当我在同一事件的服务器端进行处理时,会显示一个“请稍候”的updatepanel。问题是,似乎modalpopup工作正常,但它正在压制我的submitButton_Click方法调用。我该怎么办?
此外,如果可以在updatepanel打开时调用默认方法吗?我希望每次弹出时面板都是相同的,尽管我最后一次更新它。
<asp:Button ID="submitButton" runat="server" Text="Submit" OnClick="submitButton_Click"
CssClass="buttons"/>
<asp:ModalPopupExtender
ID="modalProgress"
runat="server"
OkControlID="btnOkay"
TargetControlID="submitButton"
PopupControlID="progessPanel"
BackgroundCssClass="modalBackground">
</asp:ModalPopupExtender>
答案 0 :(得分:2)
它不会绕过点击事件;它只是将客户端onclick
更改为返回false,这会否定回发。老实说,我总是发现这是一个痛苦的屁股。幸运的是,有一种解决方法:
<asp:Button ID="submitButton" runat="server" Text="Submit" OnClick="submitButton_Click" CssClass="buttons"/>
<!-- hidden button to satisfy the extender -->
<asp:Button ID="hiddenButton" runat="server" style="display:hidden" />
<asp:ModalPopupExtender
ID="modalProgress"
runat="server"
OkControlID="btnOkay"
TargetControlID="hiddenButton"
PopupControlID="progessPanel"
BackgroundCssClass="modalBackground">
</asp:ModalPopupExtender>
通过添加隐藏按钮,您将满足扩展器的要求,并且您可以通过提交按钮的单击事件在代码隐藏中打开对话框:
protected void submitButton_Click(object sender, EventArgs e)
{
//display the modal dialog
modalProgress.Show();
}