如何使用JQuery在mvc视图中返回Json对象

时间:2014-05-19 18:18:39

标签: jquery asp.net-mvc json linq asp.net-mvc-4

我的网站中的Json方法从Linq查询返回json查询此查询代表产品 画廊 但是我在json mvc上的新手如何返回在我的视图中显示的对象Content 这是我的观点:

@{
ViewBag.Title = "Search";
Layout = "~/Views/Shared/_LayoutSearch.cshtml";
}

<div id="all-products">
<li>
    <figcaption>
        <label id="fabricName">HERE FABRIC NAME</label>
 <a class="more" href="HERE THE ID So I CAN Pass TO ACTION To other VIEW with D")">More
       <img src="../../Admin/images/mroe.png" alt="" /></a></figcaption>
    <img  src="HERE I WANT TO Pass Image as String Name" alt="image 1" />
</li>      
</div>

这是我的Controller中的返回json方法

 public JsonResult GetSearch()
    {
        var getall = (
                     from b in db.ProductFabrics

                     select new {b.Id , b.En_FabricName,b.Image }).ToList();

        return Json(getall, JsonRequestBehavior.AllowGet);
    }

2 个答案:

答案 0 :(得分:2)

正如Ehsan Sajjad所说,你需要AJAX调用或jquery&#34; getJSON&#34;,是一样的:

var url = '@Url.Action("GetSearch","ControllerName")'

            $.getJSON(url,
                        function (result) {
                            if (result.length) {
                                for (i in result) {
                                    var result = result[i];
                                    //En_FabricName is the column retrieved
                                    $("#fabricName").append(result.En_FabricName);
                                }
                            }
                        });

通常我会使用这种方法并且每次都可以使用。希望这有帮助

答案 1 :(得分:1)

你需要发送ajax调用来获取JSON:

$.ajax({
dataType: "json",
url: '@Url.Action("GetSearch","ControllerName")',

success: function(data){

$.each(data,function(index,item){

console.log(item);

})

}
});