【发布时间】:2019-02-22 14:58:30
【问题描述】:
在我的 ASP.Net Web 表单应用程序中,我有一个按钮,该按钮用于启动 ajaxToolKit: ModalPopupExtender 模态。
<asp:Button ID="uxTicketHistoryButton" runat="server" Text="Show Ticket History" style="color: blue;" OnClick="uxTicketHistoryButton_Click"/>
<ajaxToolkit:ModalPopupExtender ID="uxTicketHistoryModal" runat="server" PopupControlID="Panel1" TargetControlID="uxTicketHistoryButton"CancelControlID="btnClose" BackgroundCssClass="modalBackground"></ajaxToolkit:ModalPopupExtender>
<asp:Panel ID="Panel1" runat="server" CssClass="modalPopup" align="center" style = "display:none">
....
</asp:Panel ID>
我曾向question 询问过如何将 C# 变量值插入模态,但我的问题似乎是模态似乎干扰了我的按钮 click event 功能;本质上是防止它开火。该功能假设在单击按钮并启动模态后获取我需要插入模态的数据。
protected void uxTicketHistoryButton_Click(object sender, EventArgs e)
{
DataTable ticketHist = _dtMgr.GetContactInfoByName(uxContactDropdownList.SelectedValue);
string rName = ticketHist.Rows[0]["RequestorName"].ToString();
string rPhone = ticketHist.Rows[0]["RequestorPhone"].ToString();
....
}
我在调试时注意到了一些奇怪的事情:1)我在调试时在字符串变量上设置了断点(以查看返回的值)。单击按钮后,它会直接越过断点(我假设这意味着它没有“触发”该代码。2)我可以从 _Click 函数中删除所有代码,并且当我单击按钮时模态仍然启动3) 如果我注释掉模态代码并单击按钮,_Click 事件代码会正常触发,我可以看到字符串变量的值。所以,我假设我拥有模态集的方式(我怀疑它与使用TargetControlID="uxTicketHistoryButton" 有关)是问题所在。如何绕过干扰按钮单击事件的模式?我在这里做错了什么?
【问题讨论】:
-
无论
_Click事件中的代码如何,您的模式都会弹出,对吗? -
是的。正如我所提到的,如果我删除了
uxTicketHistoryButton_Click中{ }之间的所有内容,当我单击按钮时,模态仍然会启动。
标签: c# asp.net button onclick modal-dialog