一佳一

记录像1+1一样简洁的代码
随笔 - 396, 文章 - 0, 评论 - 95, 阅读 - 107万

导航

< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5

RegisterStartupScript 后退重复提示解决方法

Posted on   一佳一  阅读(580)  评论(0编辑  收藏  举报

我在后台调用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

编辑推荐:
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
阅读排行:
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· C#/.NET/.NET Core优秀项目和框架2025年2月简报
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 【杭电多校比赛记录】2025“钉耙编程”中国大学生算法设计春季联赛(1)
点击右上角即可分享
微信分享提示