我对此仍然相当陌生,并试图找到答案,所以希望我不会重复这一点。
我正在使用 ASP.NET 并且有一个复选框控件,当它更改时会弹出一个弹出框,使用 onCheckedChanged 方法。这个弹出框里面有一些信息和一个“关闭”按钮,它成功地关闭了弹出窗口。
我想要的是防止在未选中复选框时出现弹出窗口。我目前有 onCheckedChanged 调用一个代码隐藏方法,如果未检查控件,该方法将取消扩展程序调用,但弹出窗口在关闭之前很快出现。我怎样才能防止它呢?
这是适当的页面代码:
<div class="row" id="divDDMandate" runat="server">
<asp:UpdatePanel ID="UpdatePanel2" runat="server" UpdateMode="Always">
<ContentTemplate>
<asp:CheckBox ID="chkDDMandate" Width="20px" Visible="true" runat="server" AutoPostBack="true"
OnCheckedChanged="clientchkDDMandateChanged(this);" on />
<asp:Literal ID="ltlDDMandate" runat="server">Direct Debit Mandate (by post)</asp:Literal>
<asp:PopupControlExtender ID="chkDDMandate_PopupControlExtender" runat="server"
DynamicServicePath="" Enabled="true" PopupControlID="PanelDDMandateDownload"
TargetControlID="chkDDMandate"
Position="Bottom" OffsetX="-20" OffsetY="10" />
</ContentTemplate>
</asp:UpdatePanel>
</div>
...这是我的方法背后的代码:
protected void chkDDMandateChanged(object sender, EventArgs e)
{
//Cancel the panel if unchecking
if ((!chkDDMandate.Checked) && chkDDMandate_PopupControlExtender.Enabled)
{
chkDDMandate_PopupControlExtender.Cancel();
}
}
如果有任何帮助,我将不胜感激。
干杯