none
Alert não dispara RRS feed

  • Pergunta

  • Esse meu código, deveria quando os filtros estiverem vazios, disparar o alert e depois retornar null. Não sei porque, mas não está funcionando. Como eu resolvo isso?

    private ListaRecursosGlosaOperadoraFiltro MontaFiltro()
            {
                ListaRecursosGlosaOperadoraFiltro filtro = new ListaRecursosGlosaOperadoraFiltro();
                bool tudoNulo = false;
                
                if (!String.IsNullOrEmpty(ucPesqPrestador1.Text.Split('-')[0]))
                {
                    filtro.IdPrestador = Convert.ToInt64(ucPesqPrestador1.Text.Split('-')[0]);
                    if (!tudoNulo) tudoNulo = true;
                }
                if (dtePeriodoEnvioRecursoInicio.Date > Convert.ToDateTime("01/01/0001") && dtePeriodoEnvioRecursoFim.Date > Convert.ToDateTime("01/01/0001"))
                {
                    filtro.DataPeriodoInicial = dtePeriodoEnvioRecursoInicio.Date;
                    filtro.DataPeriodoFinal = dtePeriodoEnvioRecursoFim.Date;
                    if (!tudoNulo) tudoNulo = true;
                }

                if (!String.IsNullOrEmpty(txtIDLote.Text))
                {
                    filtro.IdLote = Convert.ToInt64(txtIDLote.Text);
                    if (!tudoNulo) tudoNulo = true;
                }

                if (!String.IsNullOrEmpty(txtIDRecurso.Text))
                {
                    long res;
                    if (Int64.TryParse(txtIDRecurso.Text, out res))
                    {
                        filtro.IdRecurso = res;
                        if (!tudoNulo) tudoNulo = true;
                    }
                }

                if (!String.IsNullOrEmpty(txtNumLote.Text))
                {
                    filtro.NumLote = txtNumLote.Text;
                    if (!tudoNulo) tudoNulo = true;
                }

                if (tudoNulo)
                    return filtro;
                else
                {
                    //ScriptManager.RegisterClientScriptBlock(this, GetType(), "Filtro Vazio", "Filtro deve ter pelo menos um valor válido", true);
                    ClientScript.RegisterStartupScript(GetType(), "Filtro", "alert('Filtro Vazio', 'Filtro deve ter pelo menos um valor válido');", true);
                    return null;
                }
            }
    sexta-feira, 22 de novembro de 2013 12:40

Todas as Respostas

  • Tente alterar ClientScript para ScriptManager.RegisterStartupScript.

    Acho que irá resolver. 

    Caso não de uma boa olhada nesse link:http://www.linhadecodigo.com.br/artigo/2726/gerando-javascript-do-lado-do-servidor-com-aspnet.aspx

    Abraço.


    Voce pode encarar um erro como uma besteira a ser esquecida, ou como um resultado que aponta uma nova direcao by Steve Jobs

    sexta-feira, 22 de novembro de 2013 12:44
  • Fiz assim e não funcionou.

    string text = "Filtro deve ter pelo menos um valor válido";

    ScriptManager.RegisterClientScriptBlock(Page, Page.GetType(), "script", "done('" + text + "');", true);

    sexta-feira, 22 de novembro de 2013 12:59
  • Fiz assim e não funcionou.

    string text = "Filtro deve ter pelo menos um valor válido";

    ScriptManager.RegisterClientScriptBlock(Page, Page.GetType(), "script", "done('" + text + "');", true);

    Teste assim:

    ScriptManager.RegisterStartupScript(GetType(), "Filtro", "alert('Filtro Vazio', 'Filtro deve ter pelo menos um valor válido');", true);



    Voce pode encarar um erro como uma besteira a ser esquecida, ou como um resultado que aponta uma nova direcao by Steve Jobs

    sexta-feira, 22 de novembro de 2013 13:02
  • O problema é que estava em um método que era chamado por javascript via callback da devex. Tirei e coloquei em um botão de teste e funcionou, com ClientScript.
    sexta-feira, 22 de novembro de 2013 15:22