Usuário com melhor resposta
WriteMessage com Responde.Redirect

Pergunta
-
Boa Tarde, seguinte,
Trabalho com C# e Web Application.
Estou em um desenvolvimento de uma página, na qual é uma avaliação.
Ao final da avaliação eu tenho um botão CONFIRMAR!
Segue o método:
protected void Confirmar(object sender, EventArgs e) { try { EnviarEmail(); CarregarValores(); WriteMessage("Avaliação completada com sucesso."); pageFuncoes.LimparSessao(this.Session); Response.Redirect("~/Avaliacao/LoginConsultivo.aspx"); } catch { WriteMessage("Não foi possível completar essa avaliação!"); } }
O problema está no seguinte, ao apertar o botão confirmar, deve aparecer a mensagem que foi concluido com sucesso e limpar a sessão e me redirecionar para a página do login novamente.
O problema é que, do modo que eu estou fazendo a mensagem sequer aparece, ja redireciona para o Login sem a mensagem que foi concluido.
E não consigo resolver de jeito nenhum, ja fiz de tudo nesse método. =/
Alguém sabe o que pode ser?
Obrigado !
Respostas
-
Amigo, por que vc não faz assim:
utilize o controle do Ajax Control ToolKit chamado ConfirmButton (http://www.asp.net/ajax/ajaxcontroltoolkit/Samples/ConfirmButton/ConfirmButton.aspx)
Adicionar o ScriptManager na sua página
1. depois de você importar os controles pra dentro do visual studio(no site ensina como) vc irá clicar na smartTag que ira aparecer no button(aquela setinha pequena que aponta pra direita)
2. clicar em Add Extender
3. escolher ConfirmButtonExtender e OK
4. edite as propriedades do controle(estao junto com as propriedades do button) clicando em cima do botão, e apertando F4 ou botao direito > properties. lá tera uma área escrita EXTENDER que tem as propriedades do controle
5. no campo ConfirmText coloque sua mensagem: Avaliação completada com sucesso.
download do Control ToolKit: http://ajaxcontroltoolkit.codeplex.com/, http://www.asp.net/ajaxlibrary/act.ashx)
exemplos de html e do código:
<asp:ScriptManager runat="server" ID="script"></asp:ScriptManager> <asp:Button ID="Button1" runat="server" onclick="Button1_Click" Text="Button" /> <asp:ConfirmButtonExtender ID="Button1_ConfirmButtonExtender" runat="server" ConfirmText="Avaliação completada com sucesso." Enabled="True" TargetControlID="Button1" > </asp:ConfirmButtonExtender> </asp:Content>
código
protected void Button1_Click(object sender, EventArgs e) { Response.Redirect("~/Avaliacao/LoginConsultivo.aspx"); }
Olavo Oliveira Neto
Se for útil marque como resposta e faça um Developer feliz :)- Marcado como Resposta Eder CostaModerator quinta-feira, 30 de dezembro de 2010 21:29
-
Ola,
Na verdade vc deve direcionar para uma pagina com a mensagem "Avaliação completada com sucesso" e dela vc redireciona para a "~/Avaliacao/LoginConsultivo.aspx depois de X segundos
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"> <html> <head> <title></title> <meta http-equiv="REFRESH" content="5;url=<%= Server.MapPath("~/Avaliacao/LoginConsultivo.aspx") %>>"> </head> <body> <h1>Avaliação completada com sucesso!!!</h1> </body> </html>
protected void Confirmar(object sender, EventArgs e)
{
try
{
EnviarEmail();
CarregarValores();
pageFuncoes.LimparSessao(this.Session);
Response.Redirect("~/Completada.html");
}
catch
{
WriteMessage("Não foi possível completar essa avaliação!");
}
}
Se não da certo como voce esta fazendo... Tente fazer de um jeito totalmente diferente....- Marcado como Resposta Eder CostaModerator quinta-feira, 30 de dezembro de 2010 21:29
Todas as Respostas
-
-
-
-
Amigo, por que vc não faz assim:
utilize o controle do Ajax Control ToolKit chamado ConfirmButton (http://www.asp.net/ajax/ajaxcontroltoolkit/Samples/ConfirmButton/ConfirmButton.aspx)
Adicionar o ScriptManager na sua página
1. depois de você importar os controles pra dentro do visual studio(no site ensina como) vc irá clicar na smartTag que ira aparecer no button(aquela setinha pequena que aponta pra direita)
2. clicar em Add Extender
3. escolher ConfirmButtonExtender e OK
4. edite as propriedades do controle(estao junto com as propriedades do button) clicando em cima do botão, e apertando F4 ou botao direito > properties. lá tera uma área escrita EXTENDER que tem as propriedades do controle
5. no campo ConfirmText coloque sua mensagem: Avaliação completada com sucesso.
download do Control ToolKit: http://ajaxcontroltoolkit.codeplex.com/, http://www.asp.net/ajaxlibrary/act.ashx)
exemplos de html e do código:
<asp:ScriptManager runat="server" ID="script"></asp:ScriptManager> <asp:Button ID="Button1" runat="server" onclick="Button1_Click" Text="Button" /> <asp:ConfirmButtonExtender ID="Button1_ConfirmButtonExtender" runat="server" ConfirmText="Avaliação completada com sucesso." Enabled="True" TargetControlID="Button1" > </asp:ConfirmButtonExtender> </asp:Content>
código
protected void Button1_Click(object sender, EventArgs e) { Response.Redirect("~/Avaliacao/LoginConsultivo.aspx"); }
Olavo Oliveira Neto
Se for útil marque como resposta e faça um Developer feliz :)- Marcado como Resposta Eder CostaModerator quinta-feira, 30 de dezembro de 2010 21:29
-
Ola,
Na verdade vc deve direcionar para uma pagina com a mensagem "Avaliação completada com sucesso" e dela vc redireciona para a "~/Avaliacao/LoginConsultivo.aspx depois de X segundos
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"> <html> <head> <title></title> <meta http-equiv="REFRESH" content="5;url=<%= Server.MapPath("~/Avaliacao/LoginConsultivo.aspx") %>>"> </head> <body> <h1>Avaliação completada com sucesso!!!</h1> </body> </html>
protected void Confirmar(object sender, EventArgs e)
{
try
{
EnviarEmail();
CarregarValores();
pageFuncoes.LimparSessao(this.Session);
Response.Redirect("~/Completada.html");
}
catch
{
WriteMessage("Não foi possível completar essa avaliação!");
}
}
Se não da certo como voce esta fazendo... Tente fazer de um jeito totalmente diferente....- Marcado como Resposta Eder CostaModerator quinta-feira, 30 de dezembro de 2010 21:29
-