zoukankan      html  css  js  c++  java
  • response.redirect 前不能弹出对话框的问题(转载)

      我曾遇到这样的问题,代码如下:
      Response.Write   ("<script   language=javascript>alert('订阅成功,请确认手记号码!');</script>");  
      Response.Redirect("personalInfo.aspx");  
       
      结果发现Response.Write   ("<script   language=javascript>alert('订阅成功,请确认手记号码!');</script>");没执行就进行了Redirect,即没有弹出对话框就直接转到另一页去了   
          如何解决这个问题,我在网上查了一下,原因是 Redirect   方法是服务器端方法,而   alert()   是客户端方法,Redirect   由于在服务器端无法判断客户端的 alert 是否已经执行。   
        可以这样:   
        Response.Write   ("<script   language=javascript>alert('......');window.location='Login.aspx'</script>");

         这种方法对于普通的asp.net也许可以,但是我使用的是DNN,我试了一下不行,,它的页面都是tabid等于多少来表示哪个页面的,比如"**/tabid/56/Default.aspx"

    所以我最终的解决方法是:
    Dim altstr As String = ""
    altstr = "恭喜您!订阅成功!\n" + "您的手机号是:" + UserInfo.Profile.Unit + "请确认以便接受订阅信息!"
    Dim jsString As String = ""
                        jsString = String.Format("<script> alert('{0}');window.location='{1}'</script>", altstr, NavigateURL(PortalSettings.UserTabId))

                     Me.Response.Write(jsString)

           经过实践,完全成功!

  • 相关阅读:
    利用序列化进行深度克隆
    原型链
    本地储存cookie,localStorage,sessionStorage
    ES6创建类
    hexo基本命令
    mouseent和mouseover的区别
    Event
    offset,client,scroll
    字符串的常用方法
    数组去重
  • 原文地址:https://www.cnblogs.com/shf/p/1289125.html
Copyright © 2011-2022 走看看