ScriptManager.RegisterStartupScript

20/08/2010

Oi!   Tenho uma página aspx, nela tenho um UpdatePanel com um gridview dentro, que é acionado por um button para popular o gridview. Caso o gridview não contenha dados para popular, quero exibir uma mensagem javascript para o usuário. Ai que está o problema, porque não aparece nada.   Estou usando a seguinte linha de código:   ScriptManager.RegisterStartupScript(this, this.GetType(), Guid.NewGuid().ToString(), "javascript:alert('O sistema não localizou nenhuma venda conforme filtro informado na página!);", true);   Andei pesquisando na net e cheguei a ler algo sobre bug do Ajax quando você tem triggers no seu updatePanel que sejam AsyncPostBackTrigger, é isso mesmo? Como posso resolver este problema?
Carlos Nogueira

Carlos Nogueira

Curtidas 0

Respostas

Fabio Mans

Fabio Mans

20/08/2010

Olá Carlos veja se o código abaixo te ajuda.

Snippetusing System;
using System.Collections.Generic;

public partial class AjaxGridView : System.Web.UI.Page
{
    protected void Page_Load(object sender, EventArgs e)
    {
        if (!IsPostBack)
            BindGrid();

    }

    private void BindGrid()
    {
        List<string> lista = new List<string>();
        lista.Add("TESTETESTE");
        lista.Add("TESTETESTE");
        lista.Add("TESTETESTE");
        lista.Add("TESTETESTE");
        lista.Add("TESTETESTE");
        lista.Add("TESTETESTE");
        lista.Add("TESTETESTE");
        if (lista.Count > 0)
        {
            GridView1.DataSource = lista;
            GridView1.DataBind();
        }
        else
        {
            emitirAlertaAjax("O sistema não localizou nenhuma venda conforme filtro informado na página!");
        }
       
    }


    private void emitirAlertaAjax(string strMessage)
    {
        string msgScript = string.Format("alert('');", strMessage);
        System.Web.UI.ScriptManager.RegisterStartupScript(this.UpdatePanel1, this.UpdatePanel1.GetType(), strMessage, msgScript, true);
    }
}
GOSTEI 0
Carlos Nogueira

Carlos Nogueira

20/08/2010

Fabio,   Funcionou perfeitamente! Muito obrigado! Tentei descobrir o que fiz de errado, mas não consegui encontrar. Substitui o que eu fiz com o que você passou, e funciona muito bem! rs..   Pode finalizar o chamado. Obrigado!
GOSTEI 0
POSTAR