Подтвердить что ты не робот

Предупреждение 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");
4b9b3361

Ответ 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);