即使单击“确定”,模型弹出扩展器仍保持打开状态

时间:2016-05-02 12:07:58

标签: javascript c# jquery asp.net asp.net-ajax

<asp:ModalPopupExtender ID="mpeBusinessException" runat="server" TargetControlID="lnkTemp" PopupControlID="divBusinessException" BackgroundCssClass="modalBackground" DropShadow="false"></asp:ModalPopupExtender>
protected void btnClose_Click(object sender, EventArgs e)
{
    if (ViewState["URL"] != null)
    {
        Response.Redirect(SafeConvert.ToString(ViewState["URL"]));
    }
    else
    {
        mpeBusinessException.Hide();
    }
}

以上是我的ASP标签和时钟按钮事件。我有两个问题:

  1. 当我点击确定按钮弹出窗口消失但我导航回到此页面弹出窗口出现(可能是缓存问题,但没有找到解决方案。

  2. 当出现弹出窗口而没有点击确定按钮时,我导航到后页(虽然是浏览器),然后转到该页面仍然弹出。

  3. 请帮我找出解决方案。感谢

3 个答案:

答案 0 :(得分:1)

有时它会因为Catch而发生,我没有尝试过自己,但你可以做的是,隐藏ModelPopUp然后重定向到其他页面,

 protected void btnClose_Click(object sender, EventArgs e)
        {
            if (ViewState["URL"] != null)
            {
                mpeBusinessException.Hide();// hide you popup
                Response.Redirect(SafeConvert.ToString(ViewState["URL"]));
            }
            else
            {
                mpeBusinessException.Hide();
            }
        }

这可能是一招。

答案 1 :(得分:0)

这可能是由于ajax,您使用的是Updatepanel吗?

答案 2 :(得分:0)

仅通过删除以前的网页历史记录来阻止浏览器后退按钮

<script type="text/javascript">
        window.history.forward();
        function noBack() {
            window.history.forward();
        }
    </script>

在模型弹出功能中调用上面的函数

ScriptManager.RegisterStartupScript(Page, GetType(), "Script", "noBack();", true);
按钮事件上的

刷新问题编号的页面。 1

 protected void btnClose_Click(object sender, EventArgs e)
        {
            if (ViewState["URL"] != null)
            {

                mpeBusinessException.Hide();// hide you popup
                Response.Redirect(SafeConvert.ToString(ViewState["URL"]));
            }
            else
            {

                mpeBusinessException.Hide();
                Response.Redirect(Request.RawUrl);
            }
        }
  只是1落后是甚至弹出OK按钮按下我们不能回去   通过浏览器按钮,我们必须浏览菜单导航