Array
(
)

Fazer link com jquery

Pjava
   - 05 mar 2014

Montei um menu com essa jquery e esse método
#Códigofunction 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
#Código[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.