Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

marcosvbma

Mostar Modal com ThickBox com asp.net

Recommended Posts

Boa Noite.

 

Eu fiz o exemplo postado no blog do Quintela (http://www.quintelab.com.br/Artigos/ThickBox.asp) sobre Utilizando o ThickBox com asp.net, funcionou bacana na minha aplicação Asp.Net com c#.

 

Mas eu me deparei com um probleminha que gostaria de olhar com vocês.

Eu coloquei a modal para que o usuário possa preencher uma newslatter, so que, quando o usuário clicar no botão Assinar a modal some e a página que chamei para ser modal abre no navegador sobrepondo a página principal que originou a modal.

 

Eu gostaria de manter a Modal aberta após o usuario clicar no botão Assinar, para que seja mostrada uma mensagem de que a NewsLatter foi preenchida com sucesso, e a modal só iria fechar se ele clicasse em um botão Fechar.

 

Vocês sabem me dizer como resolvo isso?

 

Desde já agradeço atenção.

 

At. Marcos

Compartilhar este post


Link para o post
Compartilhar em outros sites

Bom Dia..

 

Eu estou chamando a modal através MasterPage assim :

 

                               <tr>
                                   <td>         <a href="newslatter.aspx?width=535&height=380" class="thickbox">  
                                       Abrir Janela Modal  
        </a> 
                                       <asp:UpdatePanel ID="UpdatePanel1" runat="server">
                                           <ContentTemplate>
                                               <asp:Button ID="Button1" runat="server" Text="Button" onclick="Button1_Click" />
                                               <asp:ScriptManager ID="ScriptManager1" runat="server">
                                               </asp:ScriptManager>
                                           </ContentTemplate>
                                       </asp:UpdatePanel>
                                   </td>
                               </tr>

 

protected void Button1_Click(object sender, EventArgs e)
    {
        string script = "tb_show('','newslatter.aspx?height=420&width=550','');";
        ScriptManager.RegisterClientScriptBlock(UpdatePanel1, this.GetType(), "janela", script, true);
    }

E na Modal que se chamada newslatter.aspx está assim:

 

<%@ Page Language="C#" AutoEventWireup="true" CodeFile="newslatter.aspx.cs" MaintainScrollPositionOnPostback="true"

Inherits="newslatter" %>

 

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http-~~-//www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http-~~-//www.w3.org/1999/xhtml">
<head runat="server">
   <base target="_self" />
   <title></title>
   <link href="Css/estilo.css" rel="stylesheet" type="text/css" />
   <style type="text/css">
       .style1
       {
           width: 113px;
       }
       .style2
       {
           font-family: Arial, Helvetica, sans-serif;
           font-size: 11px;
           font-weight: normal;
           font-style: normal;
           font-variant: normal;
           text-transform: none;
           color: #4B4E4F;
           text-decoration: none;
           width: 387px;
       }
   </style>
</head>
<body>
   <form id="form123" runat="server">
   <div id="dvDetalhes">
       <div>
           <img alt="NewsLatter Vbma Solutions" src="img/banner_newslatter.jpg" style="width: 530px;
               height: 125px" /><br />
           <table class="texto_menu2">
               <tr>
                   <td class="style1">
                       <img alt="separador" src="img/separador.gif" style="width: 107px; height: 1px" />
                   </td>
                   <td class="titulo3" id="1" align="center" height="50">
                       <asp:RegularExpressionValidator ID="ValidaEmailNews" runat="server" ControlToValidate="txtdsemailnews"
                           CssClass="texto_alerta1" ErrorMessage="O E-Mail informado está incorreto." SetFocusOnError="True"
                           ToolTip="Informe e-mail corretamento" ValidationExpression="\w+([-+.']\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*"
                           ForeColor="" ValidationGroup="newslatter" Height="17px"></asp:RegularExpressionValidator>
                       <br />
                       <asp:Label ID="Lblmensagem" runat="server" CssClass="texto_alerta1" Text="Mensagem"
                           Visible="False"></asp:Label>
                   </td>
               </tr>
               <tr width="100">
                   <td class="style1" width="200px">
                       Seu Nome
                   </td>
                   <td class="style5" height="50">
                       <asp:TextBox ID="txtnomenews" runat="server" BorderColor="#CCCCCC" BorderStyle="Solid"
                           BorderWidth="1px" CssClass="texto_for01" Height="20px" Width="278px" CausesValidation="True"
                           BackColor="White"></asp:TextBox>
                   </td>
                   <td>
                       <asp:RequiredFieldValidator ID="ValidaMailNews" runat="server" ControlToValidate="txtnomenews"
                           CssClass="texto1" ErrorMessage="Obrigatório" SetFocusOnError="True" ForeColor=""
                           ValidationGroup="newslatter"></asp:RequiredFieldValidator>
                   </td>
               </tr>
               <tr>
                   <td class="style1" width="200px">
                       Seu E-mail:
                   </td>
                   <td class="style5" height="50">
                       <asp:TextBox ID="txtdsemailnews" runat="server" BorderColor="#CCCCCC" BorderStyle="Solid"
                           BorderWidth="1px" CssClass="texto_for01" Height="20px" Width="278px" CausesValidation="True"
                           ValidationGroup="newslatter" BackColor="White"></asp:TextBox>
                   </td>
                   <td>
                       <asp:RequiredFieldValidator ID="ValidaMailNews0" runat="server" ControlToValidate="txtdsemailnews"
                           CssClass="texto1" ErrorMessage="Obrigatório" SetFocusOnError="True" ForeColor=""
                           ValidationGroup="newslatter"></asp:RequiredFieldValidator>
                   </td>
               </tr>
               <tr>
                   <td class="style1" colspan="2">
                       <img src="img/separador.gif" style="width: 108px; height: 1px" />
                   </td>
                   <table class="texto1" align="left">
                       <tr>
                           <td align="left" class="style2">
                               Receba novidades em seu e-mail e fique por dentro de tudo que rola no site.Enviaremos
                               periodicamente e-mail informado você das novidades e  disponibilização de novos
                               softwares para downloads.
                           </td>
                           <td>
                               <asp:Button ID="BtAssinarNews" runat="server" CssClass="botao_2" OnClick="BtAssinarNews_Click"
                                   Text="Assinar" ValidationGroup="newslatter" Height="26px" UseSubmitBehavior="False" />
                           </td>
                       </tr>
                   </table>
                   <td>
                        
                   </td>
               </tr>
           </table>
       </div>
   </div>
   </form>
</body>
</html>

 

 

Botão OnClick="BtAssinarNews_Click":

    protected void BtAssinarNews_Click(object sender, EventArgs e)
    {
        using (SqlConnection connection = new SqlConnection(ConfigurationManager.ConnectionStrings["connectionString"].ToString()))
        {
            try //verifica se existe erro, se não existir executa, caso contrário passar para catch tratar erro.
            {

                SqlCommand command = new SqlCommand("InserirnewslatterSiteNet", connection);

                command.CommandType = CommandType.StoredProcedure;

                command.Parameters.Add(new SqlParameter("@dse_mail", this.txtdsemailnews.Text.Replace("'", "")));
                command.Parameters.Add(new SqlParameter("@dtCadastro", DateTime.Now.ToString("yyyy/MM/dd")));
                command.Parameters.Add(new SqlParameter("@hrCadastro", DateTime.Now.ToString("HH:mm:ss")));
                command.Parameters.Add(new SqlParameter("@dsOrigem", "NEWSLATTER SITE VBMA.NET"));
                command.Parameters.Add(new SqlParameter("@nmContato", this.txtnomenews.Text.Replace("'", "")));
                command.Parameters.Add(new SqlParameter("@nmfoncontato", this.txtnomenews.Text.Replace("'", "")));

                connection.Open();
                command.ExecuteNonQuery();
                connection.Close();

                EnviarEmail("NewsLatter Site Vbma", "1");
                LimpaCamos();

                Lblmensagem.Visible = true;
                Lblmensagem.Text = "Seu e-mail foi aramazenado em nossos servidores. Agradecemos pelo contato.<br>";


            }
            catch  //Se der algum erro
            {
                Lblmensagem.Visible = true;
                Lblmensagem.Text = "Ocorreu um erro inesperado na página. Gentileza tentar novamente.";
            }
                finally //dando erro ou não ele é executado
            {
                connection.Close();
            }
        }
    }

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.