Domanda Avviso Javascript prima del reindirizzamento in ASP.NET


Sto usando il seguente codice per visualizzare il messaggio durante l'aggiornamento nel pannello di aggiornamento

string jv = "alert('Time OutAlert');";
ScriptManager.RegisterClientScriptBlock(this, this.GetType(), "msg", jv, true);

Funziona bene.

Ma quando uso Redirect dopo di esso carica la pagina senza visualizzare il messaggio. Voglio che l'utente veda il messaggio e dopo aver cliccato su "ok" dovrebbe reindirizzare.

string jv = "alert('Time OutAlert');";
ScriptManager.RegisterClientScriptBlock(this, this.GetType(), "msg", jv, true);
Response.Redirect("~/Nextpage.aspx");

11
2017-08-31 06:15


origine


risposte:


Visualizza l'avviso con javascript e poi esegui il reindirizzamento con lo stesso:

ScriptManager.RegisterStartupScript(this,this.GetType(),"redirect",
"alert('Time OutAlert'); window.location='" + 
Request.ApplicationPath + "Nextpage.aspx';",true);

27
2017-08-31 06:29



Non è possibile farlo, come si prova perché il messaggio è in esecuzione sul lato client, ma si effettua il reindirizzamento sul codice prima del caricamento della pagina per mostrare il messaggio.

Il modo per farlo è richiamare subito dopo il messaggio un lato client reindirizzato come:

window.location = "NextPage.asps";

3
2017-08-31 06:20



Questo funziona bene

                string message = "Upadate Successfull !!";
                string url = "/Post.aspx";
                string script = "{ alert('";
                script += message;
                script += "');";
                script += "window.location = '";
                script += url;
                script += "'; }";
                ScriptManager.RegisterStartupScript(this.Page, Page.GetType(), "alert", script, true);

0
2017-11-22 08:25