C# 我如何避开模式干扰按钮点击事件?

C# 我如何避开模式干扰按钮点击事件?,c#,asp.net,button,onclick,modal-dialog,C#,Asp.net,Button,Onclick,Modal Dialog,在我的ASP.Net Web表单应用程序中,我有一个按钮,该按钮用于启动ajaxToolKit:modalPopupXtendermodal <asp:Button ID="uxTicketHistoryButton" runat="server" Text="Show Ticket History" style="color: blue;" OnClick="uxTicketHistoryButton_Click"/>&nbsp; <ajaxToolkit:Moda

在我的ASP.Net Web表单应用程序中,我有一个按钮,该按钮用于启动
ajaxToolKit:modalPopupXtender
modal

<asp:Button ID="uxTicketHistoryButton" runat="server" Text="Show Ticket History"  style="color: blue;" OnClick="uxTicketHistoryButton_Click"/>&nbsp;
<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>

我在调试时注意到了一些奇怪的事情:1)我在调试时在字符串变量上放置断点(以查看返回的值)。单击按钮后,它会直接越过断点(我假设这意味着它不会“触发”该代码。2)如果我注释掉模式代码并单击按钮,我可以从
\u Click
函数中删除所有代码,并且当我单击按钮3时,模式仍会启动,
\u单击
事件代码将正常启动,我可以看到字符串变量的值。因此,我假设模态设置的方式(我怀疑它与使用
TargetControlID=“uxticketThistoryButton”
有关)是问题所在。我如何避开我的模式干扰按钮点击事件?我做错了什么

看起来您找到了其中一个
ajaxToolkit
。试试这个:

创建隐藏按钮:

<asp:button id="hiddenButton" runat="server" style="display:none;" />
然后在_Click事件中,显示模式:

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();
    ....

    uxTicketHistoryModal.Show();
}

无论单击事件中的代码如何,模态都会弹出,对吗?是的。正如我提到的,如果我删除
uxticketthistorybutton\u Click
{}
之间的所有内容,当我单击按钮时,模式仍会启动。是的,这很有效!!很奇怪,你必须把它指向一个“隐藏”按钮。现在,如果我能让数据显示在html中!;-)回到上一个问题的解决方案。再次感谢!
TargetControlID="hiddenButton"
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();
    ....

    uxTicketHistoryModal.Show();
}