Fazer link com jquery
05/03/2014
0
Montei um menu com essa jquery e esse método
Abaixo meu método na controller, considere sem a variável cont
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.
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
Curtir tópico
+ 0
Responder
Clique aqui para fazer login e interagir na Comunidade :)