Ir para conteúdo

Arquivado

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

Força

Ajax não funciona com master page

Recommended Posts

Bom vamos ao problema, tenho um web form que herda uma master page. Implementei um update panel, botão e textbox. Após o úsuario preencher o textbox com e-mail e em seguida clicar no botão, o programa faz uma rotina que verifica se o e-mail tem no banco ou não se não tiver grava e aparece um alert e se tiver só aparece um alert. Sem o ajax funciona e com o ajax só grava no banco.

 

Detalhe uso o visual studio 2005 com o toolkit do ajax. Já usei o ajax sem a herança da masterpage e funcionou. Haaa e já está referenciado.

 

Preciso de um help.

 

Grato e com a colaboração de vocês. Cool

Compartilhar este post


Link para o post
Compartilhar em outros sites

Bom dia Força, cara se você estiver fazerndo o alert com Response. Write ele dará erro mesmo, pra ficar facil coloca um LABEL setar um Text nele e Visible = true!

 

Abraço!

Compartilhar este post


Link para o post
Compartilhar em outros sites

namespace metalpan.admin
{
using System;
using System.Data;
using System.Configuration;
using System.Collections;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;

public partial class Default : System.Web.UI.Page
{
    protected void Page_Load(object sender, EventArgs e)
    {
        Label1.Visible = false;
    }
    protected void btnSalvar_Click(object sender, ImageClickEventArgs e)
    {
            string Email = txtEmail.Text;
            string FlagEmail = "";


            if (Email.Length == 0)
            {
                Label1.Text = "Preencha um e-mail";
            }

            //Verificar se tem registro no Banco *** Rainer Victor
                Conexao.EmailMarketing oCon = new Conexao.EmailMarketing();
                DataSet oDs = oCon.ConsultarEmail(Email);
                foreach (DataRow oDw in oDs.Tables[0].Rows)
                {
                    FlagEmail = oDw["email"].ToString();

                }

                if (FlagEmail == Email)
                {
                    Label1.Text = "Esse e-mail já existe";
                }
                else
                {
                    Label1.Visible = true;
                    //Gravar no banco para e-mail marketing *** Rainer Victor
                    Conexao.EmailMarketing oCon2 = new Conexao.EmailMarketing();
                    oCon2.InserirEmail(Email);

                    Label1.Visible = true;
                    //ImageButton1.Attributes.Add("onclick", "return confirm('" + ConfigurationManager.AppSettings["PadraoDelete"] + "');");
                    //btnExcluir.Attributes.Add("onclick", "return confirm('" + ConfigurationManager.AppSettings["PadraoDelete"] + "');");
                    
                    //Response.Write("<script>alert('teste');</script>");
                    Label1.Text = "Foi";//
                    UpdatePanel1.Update();
                }
                
        }
    }
}

<%@ Page Language="C#" AutoEventWireup="true" MasterPageFile="~/MasterPageDefault.master" CodeFile="Default.aspx.cs" Inherits="metalpan.admin.Default" %>
<%@ Register TagPrefix="uc1" TagName="topo" Src="~/topo.ascx" %>
<%@ Register TagPrefix="uc1" TagName="arearestrita" Src="~/box-arearestrita.ascx" %>

<%@ Register assembly="System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" namespace="System.Web.UI" tagprefix="asp" %>

<asp:Content ID="topo" runat="server" ContentPlaceHolderID="topo">

   <uc1:topo ID="topo1" runat="server" />
</asp:Content>

<asp:Content ID="conteudo" runat="server" ContentPlaceHolderID="conteudo">
   <!-- INICIO -->
		<br clear="all" />
          <div id="boxes">
           <!--<div class="box-arearestrita"> 
            <uc1:arearestrita ID="arearestrita" runat="server" /> 
           </div>  -->
           <div class="box-news"> 
           <img src="img/global/newstxt.jpg" /><br />
                
                   <asp:ScriptManager ID="ScriptManager1" runat="server">
   </asp:ScriptManager>
               <asp:UpdatePanel ID="UpdatePanel1" runat="server" UpdateMode="Conditional">
                   <ContentTemplate>
                       <asp:ImageButton ID="ImageButton1" runat="server" OnClick="btnSalvar_Click" ImageUrl="img/global/bt/newsenvia.jpg" />
                       <asp:Label ID="Label1" runat="server" Text="Label"></asp:Label>
                       <asp:TextBox ID="txtEmail" runat="server"></asp:TextBox>
                   </ContentTemplate>
               </asp:UpdatePanel>
           <input style="width:150px;" name="" type="text" />
           <a href="#"><img align="right" style="margin:7px;" src="img/global/bt/newsenvia.jpg" id="IMG1" onclick="return IMG1_onclick()" /></a>
           </div>          
           <div class="box-home">
           	<a href="coleta.aspx"><img src="img/global/download-img.jpg" border="0" style="float:left" /></a>
               <p><img src="img/global/tilt/download.jpg" /></p>
               <p>Baixe os catálogos e revistas da Metal Pan!</p>
           </div>
           <div class="box-home">
               <a href="coleta.aspx"><img src="img/global/reciclagem-img.jpg" border="0" style="float:left" /></a>
               <p><img src="img/global/tilt/reciclagem.jpg" /></p><p>Preservar nosso meio ambiente.</p>
           </div>
           <div class="box-home">
               <a href="coleta-separar.aspx"><img src="img/dicas/th_07.jpg" border="0" style="float:left" /></a>
             	<p><img src="img/global/tilt/dicas.jpg" /></p>
               <p>Como separar os materias recicláveis?</p>
           </div>
 </div>
		<!-- FIM -->
</asp:Content>

Compartilhar este post


Link para o post
Compartilhar em outros sites

Estou pesquisando e vi que tenho que setar a masterpage no ScriptManagerProxy onde tem o ScriptManager.

 

O problema é que nao estou conseguindo.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Você reparou que seu código está comentado nas linhas:

 

//ImageButton1.Attributes.Add("onclick", "return confirm('" + ConfigurationManager.AppSettings["PadraoDelete"] + "');");
                    //btnExcluir.Attributes.Add("onclick", "return confirm('" + ConfigurationManager.AppSettings["PadraoDelete"] + "');");
                    
                    //Response.Write("<script>alert('teste');</script>");

Se não for isso tente apenas incluir um ScriptManager dentro da MasterPage e na página que utiliza esta MasterPage você adiciona um ScriptManagerProxy.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Tem que colocar o que dentro do ScriptManagerProxy?

 

simplemente nao funciona, fiz uma outra página sem o master page e funcionou. Tá osso....

Compartilhar este post


Link para o post
Compartilhar em outros sites

o programa faz uma rotina que verifica se o e-mail tem no banco ou não

 

Aonde fica essa rotina?

No codigo da propria página ou na Master Page?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Olá,

 

Qualquer JavaScript que será executado dentro de um UpdatePanel deve ser registrado no ScriptManager pelo método RegisterClientScriptBlock.

 

 

Exemplo:

 

String alerta = "alert('teste')";

 

ScriptManager.RegisterClientScriptBlock(this.Page, alerta.GetType(), "alerta", alerta, true);

 

Atenciosamente

 

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.