none
Passar parâmetro para controller por meio de jquery e <td> RRS feed

  • Pergunta

  • uma dúvida: Tenho uma tabela e nela duas colunas, que são: CNPJ e Razão Social. Bem, preciso fazer o seguinte: Quando eu clico na coluna CNPJ, por exemplo, deveria passar o valor do CNPJ que está sendo clicado e ir como parâmetro para um método na Controller e retornar informações do BD. A questão toda é como passar o valor do CNPJ que está numa determinada coluna da tabela. Abaixo minha função jquery que pasa os parâmetros(esqueleto).

    function MontaDetalhePDV() {
        $.ajax({
            url: '/GerenciarPDV/DetalhesEvento',
            dataType: "json",
            contentType: "application/json; charset=utf-8",
            type: "POST",
            data: JSON.stringify({ _cnpj: resultado_cnpj, _razao: resultado_razao }),
            success: function (data) {
            },
            error: function (error) {
            }
        });
    }

    Meu método Controller:

    [HttpPost]
    public JsonResult DetalhesEvento(string _cnpj, string _razao)
            {
                V99_WEBEntities db = new V99_WEBEntities();
    
                var detalhe_evento = (from web in db.T_PDV
    
                                 join testab in db.T_TipoEstabelecimento on web.IDTipoEstabelecimento equals (testab.IDTipoEstabelecimento)
                                 join trede in db.T_TipoRede on web.IDTipoRede equals (trede.IDTipoRede)
                                 join tusupdv in db.T_UsuarioPDV on web.IDPdv equals (tusupdv.IDPDV)
                                 join tusu in db.T_Usuario on tusupdv.IDUsuario equals (tusu.IDUsuario)
                                 join tstatus in db.T_CRM_StatusPDV on web.CNPJ equals (tstatus.DE_Cnpj)
    
                                 select new
                                 {
                                     web.CNPJ,
                                     web.RazaoSocial,
                                     web.NomeFantasia,
                                     web.Endereco,
                                     web.Bairro,
                                     web.Cidade,
                                     web.Estado,
                                     web.CEP,
                                     web.Complemento,
                                     web.Numero,
                                     web.QtdeCheckOuts,
                                     web.Telefone,
                                     web.NomeRede,
                                     web.Email,
                                     web.Celular,
                                     web.IS_Ativo,
                                     tstatus.IT_Status,
                                     trede.Nome,
                                     tipo = testab.Nome,
                                     contato = tusu.Nome,
                                     cel_contato = tusu.Celular,
                                     tel_contato = tusu.Telefone
                                 });
    
                if (!string.IsNullOrEmpty(_cnpj))
                    detalhe_evento = detalhe_evento.Where(cn => cn.CNPJ == _cnpj);
                if (!string.IsNullOrEmpty(_razao))
                    detalhe_evento = detalhe_evento.Where(rz => rz.RazaoSocial == _razao);
    
                var detalheEvento = detalhe_evento.ToList();
    
                return Json(new { detalheEvento }, JsonRequestBehavior.AllowGet);
            }

    resultado_cnpj e resultado_razao, são apenas sugestão, nada mais.


    terça-feira, 1 de julho de 2014 13:14

Todas as Respostas

  • Criei essa função, mas não consigo fazer funcionar. O campo txtCnpjRazao é um hiddenfield e gostaria de passar o valor dele para a minha variável no jquery e passar para a controller. Acontece que esse campo está vindo vazio, sem nada.

    $(document).on('click', 'td', function (e) {
        var ancora = $(this).find('label a');
        var valor = ancora.text();

        $('#txtCnpjRazao').val(valor);
    });

    .............

    _cnpj = $('#txtCnpjRazao').val();

        $.ajax({

            url: '/GerenciarPDV/DetalhesEvento',
            dataType: "json",
            contentType: "application/json; charset=utf-8",
            type: "POST",
            data: JSON.stringify({_cnpj: _cnpj}),
            success: function (data) {

    ..........


    • Editado pnet terça-feira, 1 de julho de 2014 14:15
    terça-feira, 1 de julho de 2014 14:15