簡體   English   中英

如何在重定向頁面之前獲取警報消息

[英]How to get alert message before redirect a page

我正在使用 vs 2010。我需要向用戶顯示消息並重定向頁面。

我使用下面的行。

ScriptManager.RegisterStartupScript(this, this.GetType(), "alert", "<script> alert('User details saved sucessfully');window.open('frmDisplayUsers.aspx');</script>", true);

但是我沒有收到警報消息,頁面被直接重定向。

如何獲取警報消息?

您的代碼正在打開窗口,但您要求重定向,以下是重定向的示例:

ScriptManager.RegisterStartupScript(this, this.GetType(), 
"alert", 
"alert('User details saved sucessfully');window.location ='frmDisplayUsers.aspx';", 
true);

如果你想放入 .CS 文件,試試這個:

var page = HttpContext.Current.CurrentHandler as Page;
           ScriptManager.RegisterStartupScript(page, page.GetType(), "alert", "alert('" + msg +"');window.location ='"+ aspx +"';", true);

你需要寫:

 ScriptManager.RegisterStartupScript(this, this.GetType(), "alert", " alert('User details saved sucessfully'); window.open('frmDisplayUsers.aspx');", true);

請注意,我已刪除腳本標簽,因為最后一個參數 true 表示您不得使用腳本標簽。

這段代碼對我有用。 如果您有任何問題,請告訴我。 此外,您可以使用setTimeout延遲窗口打開,這可能不是一個非常糟糕的選擇。

如果您正在使用 UpdatePanel,那么您必須使用它:它與 Update Panel 一起使用。

 var message = new System.Web.Script.Serialization.JavaScriptSerializer().Serialize("Bill No. : " + BillNo + " successfully generated.");
            var script = string.Format("alert({0});window.location ='ChhallanPrint.aspx';", message);
            ScriptManager.RegisterClientScriptBlock(this, this.GetType(), "", script, true);

密碼更新警報消息后重定向到登錄頁面

Dim MyScript As String = "alert('Password Updated Successfully!. Please Login Again!'); window.location = '../Login.aspx';"

如果您的意圖是將您的頁面框架化到頂層,因為您的頁面可能位於框架內,而框架本身又位於框架內。

Dim MyScript As String = "alert('Password Updated Successfully!. Please Login Again!');window.top.location='../Logout.aspx';"
            ScriptManager.RegisterClientScriptBlock(Page, Page.GetType(), "MyScript", MyScript, True)

我無法成功使用這些方法。 我使用Server.Transfer()代替。

示例:(來自在 Messagebox 之后重定向另一個頁面 - CodeProject

Response.Write("<script>alert('User details saved successfully');</script>");
Server.Transfer("frmDisplayUser.aspx");

如果可能,最好的方法是將代碼放入 OnClientClick 中。

<asp:Button OnClientClick=" alert('blah?');" runat="server" />

將其放入啟動腳本的問題在於啟動腳本是在回發時運行的,而不是實時運行的。 重定向將在回發之前發生。 (可能)

另一個解決方案當然是將重定向放入啟動腳本代碼中。

該頁面將回發,腳本將運行,然后將重定向。

您的請求重定向頁面,以下是重定向的示例:

   string page = "Login.aspx";
        string myStringVariable = "Password Update!";
        ClientScript.RegisterStartupScript(this.GetType(), "myalert", "alert('" + myStringVariable + "');Response.Redirect('"+ page +"' );", true);

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM