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)

           经过实践,完全成功!

  • 相关阅读:
    Go语言http之请求接收和处理 代码
    C++之IO流的状态以及使用
    C++之指向函数的指针
    C++之数组类型的形参
    C++之vector类型的形参
    C++之形参
    C++之运算符
    C++之多维数组
    C++之动态数组
    C++之指针
  • 原文地址:https://www.cnblogs.com/shf/p/1289125.html
Copyright © 2011-2022 走看看