单击“确定”或“取消”时,防止隐藏ModalPopupExtender

时间:2008-11-21 00:22:29

标签: asp.net javascript ajax

我在页面上使用asp.net ModalPopupExtender,并希望在用户在某些条件下按下ok按钮时阻止对话框隐藏。但我似乎无法找到办法。

我正在寻找的是这样的

ajax:ModalPopupExtender ... OnOkScript =“return confirm('你确定?')”......

如果确认为假,则模态对话框不会消失。

2 个答案:

答案 0 :(得分:1)

根据我对你的具体情况的理解,你不会连接按钮,只需连接一个脚本来处理条件,然后你可以通过JS关闭它。

答案 1 :(得分:1)

以下JavaScript函数将允许您实现此目的:

function conditionalHide(clientID)
{
    if (confirm('You sure?'))
    {
        $find(clientID).hide();
    }
}

您可以在页面的Page_Load事件中将其连接到您的asp:Button控件

protected void Page_Load(object sender, EventArgs e)
{
    if (!IsPostBack)
    {
        btnOK.OnClientClick = string.Format("conditionalHide('{0}'); return false;",
            panPopup_ModalPopupExtender.ClientID);
    }
}

一些注意事项:

  • panPopup_ModalPopupExtender是您的ModalPopupExtender
  • return false;可防止用户点击按钮时发生回发
  • 您可以对ModalPopupExtender的ClientID进行硬编码,但这会引入(额外的)维护问题。显示的方法是我发现的最好的方法来减轻这种开销