Jquery, Ajax, MVC e Banco de dados com EF e LINQ
26/02/2014
0
[HttpPost] public JsonResult MontaMenuInstitucional() { AgaxturCmsEntities db = new AgaxturCmsEntities(); try { var resultado = (from i in db.TB_INSTITUCIONAL join c in db.TB_INSTITUCIONAL_CATEGORIAS on i.Id_Categoria equals(c.id) where i.Ativo == 1 && c.Ativo == 1 && c.CdCliente == 1 select new { i.Id_Categoria ,i.Conteudo ,c.Categoria }).ToList(); return Json(new { resultado }, JsonRequestBehavior.AllowGet); } catch (Exception ex) { return Json(new { Result = ex.Message }, JsonRequestBehavior.AllowGet); } }
Abaixo minha jquery que não funciona.
function MontaMenuInstitucional() { $.ajax({ url: '/Home/MontaMenuInstitucional', dataType: "json", contentType: "application/json; charset=utf-8", type: "POST", success: function (data) { alert('cheguei ao passo 0'); $(data.Result).each(function () { alert('cheguei ao passo 1'); if (this.Id_Categoria > 0) { alert('cheguei ao passo 2'); $("CategoriaInstitucional").append('<li><a href="#" title="' + this.Categoria + '" alt="" /></a></li>'); } }); //processoSliderBanner(); }, error: function (error) { } }); }
Pjava
Posts
27/02/2014
Pjava
function MontaMenuInstitucional() { $.ajax({ url: '/Home/MontaMenuInstitucional', dataType: "json", contentType: "application/json; charset=utf-8", type: "POST", success: function (data) { alert('Passo 0'); var resultSet = $.parseJSON(data.d); $.each(resultSet, function (key, obj) { alert('passo 1'); obj.Categoria; }); }, error: function (error) { } }); }
27/02/2014
Murilo Teixeira
$("CategoriaInstitucional").append('<li><a href="#" title="' + this.Categoria + '" alt="" /></a></li>');
Você fecha a Tag <a> duas vezes, primeiro no /> depois no </a>
Você tentou algo mais simples, como simplesmente emitir um alerta com o valor que você quer mostrar pra ver se esta vindo certo?
um alert com o this.Categoria?
27/02/2014
Pjava
Esse erro só está acontecendo após eu ter alterado minha função jquery com ajax.
27/02/2014
Pjava
if (this.Id_Categoria > 0) {
$("CategoriaInstitucional").append('<li><a href="#" title="' + this.Categoria + '" alt="" /></li>');
}
Abaixo meu código asp.net da tag ul com sua tags li
<ul class="grid_4">
<li>Institucional</li>
@*<li><a href="#" title="">Nossa História</a></li>
<li><a href="#" title="">Linha do Tempo</a></li>
<li><a href="#" title="">Missão e Valores</a></li>
<li><a href="#" title="">Imprensa</a></li>
<li><a href="#" title="">Sustentabilidade</a></li>
<li><a href="#" title="">Trabalhe Conosco</a></li>*@
</ul>
Onde está comentado é que deveria vir do jquery para preencher.
27/02/2014
Pjava
function MontaMenuInstitucional() { $.ajax({ url: '/Home/MontaMenuInstitucional', dataType: "json", contentType: "application/json; charset=utf-8", type: "POST", success: function (data) { $(data.resultado).each(function () { if (this.Id_Categoria > 0) { $("#CategoriaInstitucional").append('<li><a href="#" title="' + this.Categoria + '" alt="" >' + this.Categoria + '</a></li>'); } }); }, error: function (error) { } }); }
<ul class="grid_4" id="CategoriaInstitucional"> <li>Institucional</li> </ul>
Clique aqui para fazer login e interagir na Comunidade :)