我正在创建一个报告,要求将Lists和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的曝光是空的,所以如果有人可以帮助我,或者指出我正确的方向,我将非常感激!
感谢。
答案 0 :(得分:6)
您可以使用JSON.net库将对象序列化为json字符串并将其设置为ShopSales属性。
report.OriginalList = objectToSerialize;
var jsonStr = JsonConvert.Serialize(objectToSerialize);
report.ShopSales = jsonStr;
return report;
在客户端上,您可以将ShopSales属性与jQuery一起使用。
答案 1 :(得分:1)
我在这里看到的唯一方法(我也采用了一次)是在类库中创建一个 HTTP Handler ,它拦截某些请求并直接将JSON写入响应({{3值得一看。)
您还可以查看是否可以直接利用JSON.net来代替HTTP处理程序。
然后,您的类库必须作为对前端项目(即ASP.net MVC / WebForms)的引用添加,并且处理程序必须在那里注册。