• RegisterStartupScript 后退重复提示解决方法


    我在后台调用RegisterStartupScript注册脚本,提示用户是否要跳转到另外一个页面,可是问题就来了,跳转到另外一个页面后,一旦用户后退,原来的页面就会又提示脚本信息,

    后来自己想了想,用一个变量来判断就可以啦,于是决定用Cookies实现,步骤如下

    1.设置Cookies读取的javascript方法

    function getcookie(objname) {
        //获取指定名称的cookie的值
        var arrstr = document.cookie.split("; ");
        for (var i = 0; i < arrstr.length; i++) {
            var temp = arrstr[i].split("=");
            if (temp[0] == objname) return unescape(temp[1]);
        }
    }

    2.设置Cookies为1,判断如果是1就弹出确认框

    if (list.Count() > 0)
                    {
                        Response.Cookies["state"].Value = "1";
    
                        ScriptManager.RegisterStartupScript(this, this.GetType(), "confirm", "if(getcookie('state')=='1'){if(confirm('该单据已经有下游单据,是否查看?'))"
                          + this.ClientScript.GetPostBackEventReference(this, "yes_" + list[0].KID)
                          + "; else " + this.ClientScript.GetPostBackEventReference(this, "no_" + purchaseid) + ";};", true);
                    }

    3.回调时,设置Cookies为2,这样提示框判断不是1,就不会再提示了

    public void RaisePostBackEvent(string eventArgument)
            {
                Response.Cookies["state"].Value = "2";
                if (eventArgument.Contains("yes"))
                {
                    int id = Convert.ToInt32(eventArgument.Split('_')[1]);
                    Response.Redirect("PurchaseStockInfo_Edit.aspx?type=look&id=" + id);
                }
            }

    关于页面刷新判断,我博客还有另外一片文章,需要的可以去看下,两篇文章加起来 就基本解决常用的一些页面刷新,重复提示等问题,希望可以帮到有需要的同学

    用了好一段时间才整理出来的,要转载的童鞋记得保留我的链接哦http://www.cnblogs.com/linyijia/p/3503623.html

  • 相关阅读:
    css-css背景
    css-概述和选择器
    html-补充
    html-示例代码
    html-表格和列表
    html-表单
    html-常用标签
    html- 头部元素
    html-介绍
    SQLAlchemy-对象关系教程ORM-连接,子查询
  • 原文地址:https://www.cnblogs.com/linyijia/p/3503623.html
Copyright © 2020-2023  润新知