如何将LINQ结果转换为JSON并将其传递给MVC3中的View [英] How to convert LINQ result to JSON and pass it to View in MVC3

查看:132
本文介绍了如何将LINQ结果转换为JSON并将其传递给MVC3中的View的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

在我的控制器中,我有以下代码

In my controller i have the following code

public ActionResult 
{
    var roomdetails = db.RoomDetails.Include(r => r.RoomType).Include(r => r.FloorNames);

    roomdetails = roomdetails.OrderByDescending(s => s.FloorNames.FloorName);

    return View(roomdetails.ToList());
}

但是我想将roomdetails作为json对象发送,以便我可以使用jquery捕获请求并在View中进行进一步的动态处理.因此如何将roomdetails转换为json对象.请帮助我...

But i want to send the roomdetails as json object so that i can use jquery to catch the request and do further dynamic processing in my View.So how to convert roomdetails to json object.Please help me...

推荐答案

注意:使用Newtonsoft.Json.dll版本8.0.2

Note: Use Newtonsoft.Json.dll version 8.0.2

将此类的实例返回到您的控制器方法.

return an instance of this class to your controller method.

public class ActionResult_Json : System.Web.Mvc.ActionResult
{
    public object To_Serialize_Object { get; set; }
    public ActionResult_Json(object To_Serialize_Object)
    {
        this.To_Serialize_Object = To_Serialize_Object;
    }
    public override void ExecuteResult(ControllerContext context)
    {
        context.HttpContext.Response.ContentType = "application/json";
        //serialize object to string
        string Serialized_Object_String =          Newtonsoft.Json.JsonConvert.SerializeObject(To_Serialize_Object, new Newtonsoft.Json.JsonSerializerSettings()
        {
            ReferenceLoopHandling = Newtonsoft.Json.ReferenceLoopHandling.Ignore,
        });
        //write json to response stream
        context.HttpContext.Response.Write(Serialized_Object_String);
    }
}

这篇关于如何将LINQ结果转换为JSON并将其传递给MVC3中的View的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆