response.redirect 前不能彈出對話方塊的問題

來源:互聯網
上載者:User
如何在Response.Redirect前彈出alert對話方塊

  我曾遇到這樣的問題,代碼如下:
  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)

       經過實踐,完全成功!

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.