Fazer link com jquery

05/03/2014

0

Montei um menu com essa jquery e esse método
function MontaMenuSuperiorDestino() {

    var str = "";
    $.ajax({
        url: '/Home/MontaMenuSuperiorDestino',
        dataType: "json",
        contentType: "application/json; charset=utf-8",
        type: "POST",
        success: function (data) {

            $(data.resultado).each(function () {

                str = str + '<li><a href="Home/PaginaBase" title="">' + this.Categoria + '</a><div class="container_24 dropdown-menu">';

                $(this.subconsulta).each(function () {

                    str = str + '<ul class="grid_4"><li>' + this.SubCategoria + '</li>';

                    $(this.subconsulta2).each(function () {

                        str = str + '<li><a href="Home/PaginaBase/" title="">' + this.SubCategoria2 + '</a></li>';

                    });

                    str = str + '</ul>';

                });
                
                str = str + '</div></li>';
               
                $("#menuheader").append(str);

                str = "";
            });
        },
        error: function (error) {

        }
    });
}

Abaixo meu método na controller, considere sem a variável cont
[HttpPost]
        public JsonResult MontaMenuSuperiorDestino()
        {
            AgaxturCmsEntities db = new AgaxturCmsEntities();
            try
            {
                

                var resultado =
                    (from c in db.TB_MENUSUPERIOR_CATEGORIAS
                     //join s in db.TB_MENUSUPERIOR on c.id equals (s.Id_Categoria)
                     //join s2 in db.TB_MENUSUPERIOR_SUBCATEGORIAS2 on s.id equals(s2.Id_SubCategoria)
                     where c.Ativo == 1 && c.CdCliente == 1
                     select new
                     {
                         c.id,
                         c.Categoria,
                         cont = (from rc in db.TB_MENUSUPERIOR
                                            join cat in db.TB_MENUSUPERIOR_CATEGORIAS on rc.Id_Categoria equals(cat.id)
                                            join s in db.TB_MENUSUPERIOR_SUBCATEGORIAS on rc.Id_SubCategoria equals(s.id)
                                            join s2 in db.TB_MENUSUPERIOR_SUBCATEGORIAS2 on rc.Id_SubCategoria2 equals(s2.id) 
                                            where rc.Ativo == 1 && rc.Cdcliente == 1 && rc.Id_Categoria > 0
                                            select new { 

                                                rc.Conteudo,
                                                rc.Id_Categoria

                                            }).ToList(),

                         subconsulta = (from sub in db.TB_MENUSUPERIOR_SUBCATEGORIAS
                                        where sub.Ativo == 1 && sub.CdCliente == 1 && sub.Id_Categoria == c.id
                                        select new
                                        {
                                            sub.Id_Categoria,
                                            sub.SubCategoria,
                                            subconsulta2 = (from sub2 in db.TB_MENUSUPERIOR_SUBCATEGORIAS2
                                                            where sub2.Ativo == 1 && sub2.CdCliente == 1 && sub2.Id_SubCategoria == sub.id
                                                            select new { sub2.Id_SubCategoria, sub2.SubCategoria2 }
                                                ).ToList()
                                        }
                                        ).ToList(),


                     }).ToList();

                return Json(new { resultado }, JsonRequestBehavior.AllowGet);
            }
            catch (Exception ex)
            {
                return Json(new { resultado = ex.Message }, JsonRequestBehavior.AllowGet);
            }
        }


Agora vem a zica. Até então funciona. Bem, acontece que o chefe quer que esse menu chame uma outra página, dentro de uma condição. A condição é a seguinte. No método do Controller, eu acrescentei a variável cont. E sempre que o Id_Categoria for maior que zero, deve-se criar o link e chamar a página. O que eu não estou sabendo fazer é como fazer isso na minha jquery acima, pois não posso fazer um outro foreach na variável cont, senão eu não preencho o menu. Alguém tem alguma idéia? Desde já, obrigado.
Pjava

Pjava

Responder

Assista grátis a nossa aula inaugural

Assitir aula

Saiba por que programar é uma questão de
sobrevivência e como aprender sem riscos

Assistir agora

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar