Предупреждение Javascript перед перенаправлением в ASP.NET
Я использую следующий код для отображения сообщения при обновлении в панели обновления
string jv = "alert('Time OutAlert');";
ScriptManager.RegisterClientScriptBlock(this, this.GetType(), "msg", jv, true);
Он отлично работает.
Но когда я использую Redirect после него, он загружает страницу без отображения сообщения. Я хочу, чтобы пользователь увидел сообщение, и после нажатия "ОК" он должен перенаправить.
string jv = "alert('Time OutAlert');";
ScriptManager.RegisterClientScriptBlock(this, this.GetType(), "msg", jv, true);
Response.Redirect("~/Nextpage.aspx");
Ответы
Ответ 1
Отобразите оповещение с помощью javascript, а затем выполните перенаправление с тем же:
ScriptManager.RegisterStartupScript(this,this.GetType(),"redirect",
"alert('Time OutAlert'); window.location='" +
Request.ApplicationPath + "Nextpage.aspx';",true);
Ответ 2
Вы не можете этого сделать, как вы пытаетесь, потому что сообщение запущено на стороне клиента, но вы делаете перенаправление по коду перед загрузкой страницы, чтобы показать сообщение.
Способ сделать это - позвонить сразу после сообщения с обратной стороны клиента как:
window.location = "NextPage.asps";
Ответ 3
Это работает отлично
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);