it-swarm-pt.tech

Como obter uma mensagem de alerta antes de redirecionar uma página

Estou usando o vs 2010. Preciso exibir a mensagem para o usuário e redirecionar a página.

Eu uso a linha abaixo.

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

Mas eu não recebi a mensagem de alerta e a página foi redirecionada diretamente.

Como receber uma mensagem de alerta?

12
Pooja

Seu código está abrindo a janela, mas você está pedindo um redirecionamento, abaixo está um exemplo de um redirecionamento:

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

Se você quiser colocar no arquivo .CS, tente isto:

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

Você precisa escrever:

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

Por favor, note que eu removi as tags de script, pois o último parâmetro true significa que você não deve usar a tag de script.

Este código funcionou para mim. Se você tiver algum problema, me avise. Além disso, você pode usar setTimeout para atrasar a abertura da janela, o que pode não ser uma escolha muito ruim.

1
Moons

A melhor maneira, se possível, é colocar o código no OnClientClick.

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

O problema em colocá-lo em um script de inicialização é que o script de inicialização é executado em postback, não em tempo real. O redirecionamento acontecerá antes do postback. (possivelmente)

A outra solução é colocar o redirecionamento no código do startupscript.

A página será postada de volta, o script será executado e, em seguida, será redirecionado. 

0
Sam Sussman

Se você está trabalhando com UpdatePanel, então você tem que usar isto: É trabalhar com o 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);
0
Gautam Kumar Sahu

Redirecionando para a página de login após a mensagem de alerta atualizada por senha

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

E se sua intenção é enquadrar sua página no nível superior, porque Sua página pode estar dentro de um quadro que esteja dentro de um quadro.

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