我有一个使用 RAZOR 的 ASP.NET MVC 4 应用程序。我的控制器操作将数据加载到 DataTable 中(我继承了代码)。我需要在我的视图中将该数据呈现为 JSON。我尝试使用这里推荐给我的方法:Writing JSON via MVC and RAZOR。
我相信 DataTable 会导致我的问题。同时,我不知道该怎么办。如何从视图中呈现为 JSON 的 DataRow 元素中获取某些列?目前,我的控制器操作中有以下内容:
DataTable results = GetFromDatabase();
ViewBag.Results = results;
然后,在我看来,我有:
@{
var serializer = new JavaScriptSerializer();
var resultsJson = serializer.Serialize(Enumerable.Select(ViewBag.Results, result => new { id = result["ID"], name = result["Name"] }));
Html.Raw(resultsJson);
}
当我尝试这样做时,我收到一条错误消息: 无法使用 lambda 表达式作为动态分派操作的参数,而无需先将其转换为委托或表达式树类型
我不确定如何解决这个问题。