Caixa de diálogo ASP.Net
Olá
Estou desenvolvendo uma aplicação ASP.Net, utilizando C#.
Eu inclui a referência Windows Forms - using System.Windows.Forms, e utilizo a classe MessageBox
Enquanto estou em desenvolvimento funciona corretamente, porém quando faço a publicação do meu site, apresenta o seguinte erro:
Mostrar um formulário ou uma caixa de diálogo restrita quando o aplicativo não está no modo UserInteractive não é uma operação válida. Especifique o estilo ServiceNotification ou DefaultDesktopOnly para exibir uma notificação de um aplicativo de serviços.
Isso é alguma configuração no IIS ou no WebConfig.
Obrigado
Estou desenvolvendo uma aplicação ASP.Net, utilizando C#.
Eu inclui a referência Windows Forms - using System.Windows.Forms, e utilizo a classe MessageBox
Enquanto estou em desenvolvimento funciona corretamente, porém quando faço a publicação do meu site, apresenta o seguinte erro:
Mostrar um formulário ou uma caixa de diálogo restrita quando o aplicativo não está no modo UserInteractive não é uma operação válida. Especifique o estilo ServiceNotification ou DefaultDesktopOnly para exibir uma notificação de um aplicativo de serviços.
Isso é alguma configuração no IIS ou no WebConfig.
Obrigado
Eduardo Pereira
Curtidas 0
Respostas
Luiz Maia
12/06/2009
Ola Eduardo,
Não tem nada a ver com IIS e nem com web.config.
Seguinte, o MessageBox é um controle exclusivo de Aplicações Windows, não funciona em Servidor Web.
Ja que esta fazendo uma aplicação web, vc deve usar o RegisterStartupScript, que tem o mesmo comportamento da caixa de diagolo dos Windows Forms, porém é um recurso JavaScript.
Caso não conheça o RegisterStartupScript, me diga que te passo um exemplo.
Abraços
Att
Luiz Maia
GOSTEI 0
Eduardo Pereira
12/06/2009
Entendi
Por gentileza se puder me enviar um exemplo, pois tenho várias situações em que preciso exibir uma mensagem ou solicitar uma confirmação do usuário, como fazer uma confirmação de exclusão de um registro como Sim ou Não, ou ainda apenas uma mensagem de alerta com um botão OK.
Obrigado.
Por gentileza se puder me enviar um exemplo, pois tenho várias situações em que preciso exibir uma mensagem ou solicitar uma confirmação do usuário, como fazer uma confirmação de exclusão de um registro como Sim ou Não, ou ainda apenas uma mensagem de alerta com um botão OK.
Obrigado.
GOSTEI 0
Luiz Maia
12/06/2009
Ola, segue alguns exemplos de como vc pode usar os recursos javascritp via C#.
1 - Pode usar direto no HTML do webform:
<asp:ImageButton ID="ibExcluir" OnCommand="Excluir" OnClientClick="javascript:return confirm(Deseja excluir este item?');" runat="server" ImageUrl="Imagens/btn_excluir.gif" />
2 - Pode usar no evento de alguma imagem ou botao (via C#):
ClientScript.RegisterClientScriptBlock(this.GetType(), "ClosePopUp", "<script>alert('clicou aqui');</script>");
3 - Pode tambem adicionar algum trecho de codigo cliente (js) ao renderizar seu webForm, e depois atribuir este evento ao clique de um botao, poe exempo:
private void Page_Load(object sender, System.EventArgs e)
{
string jScriptValidator;
jScriptValidator="<script> function ReqFieldValidator()" +
" { if (document.forms[0].txtField.value == '') \n";
jScriptValidator+="{ alert('TextBox cannot be empty') \n ";
jScriptValidator+="return false; \n";
jScriptValidator+="} \n";
jScriptValidator+=" return true \n";
jScriptValidator+=" } </script>";
Page.RegisterStartupScript("regJSval",jScriptValidator);
btnSubmit.Attributes.Add("onclick","return ReqFieldValidator()");
} Espero ter ajudado. Aguardo um retorno seu. Att Abraços
{
string jScriptValidator;
jScriptValidator="<script> function ReqFieldValidator()" +
" { if (document.forms[0].txtField.value == '') \n";
jScriptValidator+="{ alert('TextBox cannot be empty') \n ";
jScriptValidator+="return false; \n";
jScriptValidator+="} \n";
jScriptValidator+=" return true \n";
jScriptValidator+=" } </script>";
Page.RegisterStartupScript("regJSval",jScriptValidator);
btnSubmit.Attributes.Add("onclick","return ReqFieldValidator()");
} Espero ter ajudado. Aguardo um retorno seu. Att Abraços
GOSTEI 0
Eduardo Pereira
12/06/2009
Ok funcionou corretamente
Agora como posso fazer com uma confirmação,do tipo:
Confirma a exclusão do Registro?
Sim Não
Obrigado
Agora como posso fazer com uma confirmação,do tipo:
Confirma a exclusão do Registro?
Sim Não
Obrigado
GOSTEI 0
Luiz Maia
12/06/2009
Pode usar este recurso inserido diretamente nas tags no botao:
<asp:ImageButton ID="ibExcluir" OnCommand="Excluir" OnClientClick="javascript:return confirm('Deseja excluir este item?');" runat="server" ImageUrl="Imagens/btn_excluir.gif" />
Abraços
Att
Luiz Maia
GOSTEI 0
Luiz Maia
12/06/2009
Apenas retire o onCommand:
<asp:ImageButton ID="ibExcluir" OnClientClick="javascript:return confirm('Deseja excluir este item?');" runat="server" ImageUrl="Imagens/btn_excluir.gif" />
Abraços
Att
Luiz Maia
GOSTEI 0
Eduardo Pereira
12/06/2009
Ok Luiz
Desculpe a insistência, mas é que sou iniciante em programação via Web.
Como posso fazer um envento onclick do botão chamar o recurso JavaScript?
Exemplo:
protected void btnExpedir_Click(object sender, EventArgs e)
{
ClientScript.RegisterClientScriptBlock(this.GetType(), "ClosePopUp", "<script>alert('clicou aqui');</script>");
// Chamar a caixa de diálogo
// e conforme o botão clicado executar ou não um bloco de comando
}
Obrigado.
Desculpe a insistência, mas é que sou iniciante em programação via Web.
Como posso fazer um envento onclick do botão chamar o recurso JavaScript?
Exemplo:
protected void btnExpedir_Click(object sender, EventArgs e)
{
ClientScript.RegisterClientScriptBlock(this.GetType(), "ClosePopUp", "<script>alert('clicou aqui');</script>");
// Chamar a caixa de diálogo
// e conforme o botão clicado executar ou não um bloco de comando
}
Obrigado.
GOSTEI 0
Luiz Maia
12/06/2009
Ola Eduardo,
Tente algo do tipo:
protected void btnExpedir_Click(object sender, EventArgs e)
{
string teste = "<script>return confirm('deseja excluir?');</script>"; ClientScript.RegisterClientScriptBlock(this.GetType(), "PopUpExclusao", teste, true);
} Aguardo retorno. Luiz Maia
{
string teste = "<script>return confirm('deseja excluir?');</script>"; ClientScript.RegisterClientScriptBlock(this.GetType(), "PopUpExclusao", teste, true);
} Aguardo retorno. Luiz Maia
GOSTEI 0
Eduardo Pereira
12/06/2009
Luiz
Não funcionou corretamente apareceu no alto da tela //]]>
Vc tem algum artigo ou site sobre caixas de diálogo e javascript?
Obrigado.
Não funcionou corretamente apareceu no alto da tela //]]>
Vc tem algum artigo ou site sobre caixas de diálogo e javascript?
Obrigado.
GOSTEI 0
Luiz Maia
12/06/2009
Eduardo,
Use este então, mas facil de implementar.
Apenas coloqyue esta linha dentro do metodo PageLoad:
protected void Page_Load(object sender, EventArgs e)
{
btnExpedir.Attributes["onclick"] = "return confirm('deseja excluir este item');";
}
protected void btnExpedir_Click(object sender, EventArgs e)
{
}
Abraços
Att
Luiz Maia
GOSTEI 0
Eduardo Pereira
12/06/2009
Ok
Funcionou obrigado.
Funcionou obrigado.
GOSTEI 0
Luiz Maia
12/06/2009
Blz Eduardo, precisando é so falar.
Abraços
Att
Luiz Maia
GOSTEI 0