• asp.net 关于Response.Redirect重定向前无法弹出alert对话框的问题


    要实现的功能:某项操作后,使用alert()提示框提示"操作成功"之类的提示,然后使用response.Redirect()来进行页面重定向。

    出现的问题:运行代码,操作完成后,直接跳转到指定页面,但是并没有弹框提示。

    示例代码:

    1 protected void gvAttrList_RowDeleting(object sender, GridViewDeleteEventArgs e)
    2 {
    3     Page.ClientScript.RegisterStartupScript(this.GetType(), "delAtt", "alert('删除成功!')");
    4     response.Redirect("default.aspx");
    5 }

    原因解析:response.Redirect() 方法是服务器端方法,而 alert() 是客户端方法,由于当前单击事件是在服务器端进行的,也就会先执行response.Redirect()方法,而无法判断客户端的 alert 是否已经执行。重定向后进行其他页面加载而不会再执行当前页面的alert()了。

    解决方法:在添加的js代码中使用location = 'ProAttribute.aspx'进行页面跳转,由于都是在客户端进行,就会先执行alert(),然后进行页面跳转。

    示例代码:

    1 protected void gvAttrList_RowDeleting(object sender, GridViewDeleteEventArgs e)
    2 {
    3      Page.ClientScript.RegisterStartupScript(this.GetType(), "delAtt", "alert('删除成功!'); location = 'ProAttribute.aspx'");
    4      response.Redirect("default.aspx");
    5 }
  • 相关阅读:
    Python内存管理机制
    哈希表(散列表)
    Python面向对象三大特性
    Python 面向对象继承
    Python面向对象 类的空间问题
    面向对象初识
    增量式爬虫
    分布式爬虫
    crawlscrapy框架
    HTML
  • 原文地址:https://www.cnblogs.com/xyyt/p/3978631.html
Copyright © 2020-2023  润新知