0

我正在创建一个需要将列表和 Json 数据返回到网页的报告。我正在使用多层应用程序。Web 项目是使用 MVC 创建的,但繁重的工作是在单独项目的类库中完成的。

我正在从类库将报表对象返回到我的控制器,但我想知道是否可以在模型中返回 Lists 和 Json 的混合?理想情况下,我希望报告模型类似于以下内容:

public class Report
{
    public List<TopSellers> TopSellers { get; set; }
    public List<MonthlySales> MonthlySales { get; set; }
    public Json ShopSales { get; set; }

}

这样,列表内容可以正常呈现,但 jQuery 可以获取返回的 Json 以呈现我正在使用的图形。

这可能吗?

我试图声明它与此类似,但是我得到的唯一选择是'JsonReaderWriterFactory'。

到目前为止,我对 Json 的曝光是空的,所以如果有人可以帮助我,或者指出我正确的方向,我将非常感激!

谢谢。

4

2 回答 2

6

您可以使用 JSON.net 库将您的对象序列化为 json 字符串并将其设置为您的 ShopSales 属性。

http://json.codeplex.com/

report.OriginalList = objectToSerialize;

var jsonStr = JsonConvert.Serialize(objectToSerialize);
report.ShopSales = jsonStr;

return report; 

在客户端上,您可以将 ShopSales 属性与 jQuery 一起使用。

于 2012-05-09T09:01:17.067 回答
1

我在这里看到的唯一方法(我也采用过一次)是在您的类库中创建一个HTTP 处理程序,它拦截某些请求并将 JSON 直接写入响应( JSON.net值得一看)。

除了 HTTP 处理程序,您还可以查看是否可以直接利用内置的 ASP.net 路由机制

然后,您的类库必须添加为对前端项目(即 ASP.net MVC / WebForms)的引用,并且必须在那里注册处理程序。

于 2012-05-09T09:04:33.843 回答