我有一个使用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表达式用作动态调度操作的参数,而无需先将其转换为委托或表达式树类型
我不确定如何解决这个问题。