【问题标题】:Prevent hiding of ModalPopupExtender when ok or cancel is clicked单击确定或取消时防止隐藏 ModalPopupExtender
【发布时间】:2008-11-21 00:22:28
【问题描述】:

我在页面上使用 ASP.NET ModalPopupExtender 并希望防止在用户在某些情况下按下确定按钮时隐藏对话框。但我似乎找不到办法。

我要找的是这样的东西

ajax:ModalPopupExtender
...
OnOkScript="return confirm('You sure?')"
...

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

【问题讨论】:

  • 有点像我需要添加自己的按钮,而不是连接 OkControlID 和 CancelControlID

标签: asp.net javascript ajax


【解决方案1】:

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

【讨论】:

    【解决方案2】:

    以下 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 进行硬编码,但这会带来(额外的)维护难题。所示的方法是我发现减轻这种开销的最佳方法

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-12-14
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多