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)

           经过实践,完全成功!

  • 相关阅读:
    https单向证书
    单例模式再学习
    sql经常出现死锁解决办法
    sqlserver结束和监视耗时的sql
    如何保持进步
    es6-学习
    javascript修改div大小遮挡页面渲染问题
    报表功能设计思考-初步尝试-第一次
    导出统计数据-经验积累-深入1
    Java中数据类型转换&基本类型变量和对象型变量
  • 原文地址:https://www.cnblogs.com/shf/p/1289125.html
Copyright © 2011-2022 走看看