asp.net-mvc-3 - Linq to SQL 无法转换对象

标签 asp.net-mvc-3 linq-to-sql telerik-grid telerik-mvc

我将我的产品表绑定(bind)到网格,如下所示

Action Controller

ViewData["Products"] = _repository.GetProducts(true);

查看

@(Html.Telerik().Grid((IEnumerable<Product>)ViewData["Products"])

一切正常。但我只需要从表中选择两个字段,并且我尝试使用下面的代码

ViewData["Products"] = _repository.GetProducts(true).Select(p => new
{
Id = p.Id,
Name = p.Name
});

现在我收到以下错误。也许有人可以解释一下 hot 来解决这个问题?

Unable to cast object of type System.Data.Linq.DataQuery to type System.Collections.Generic.IEnumerable

最佳答案

也许是这样的:

ViewData["Products"] = _repository.GetProducts(true).Select(p =>  new 
KeyValuePair<int,string>
(
   p.Id,
   p.Name
)).ToList();

然后更改此:

@(Html.Telerik().Grid((List<KeyValuePair<int,string>>)ViewData["Products"])

关于asp.net-mvc-3 - Linq to SQL 无法转换对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9975951/

相关文章:

asp.net-mvc - 如何在MVC WebGrid中显示行号

c# - 如何调用rad网格的命令

c# - 为什么我的 LINQ to Objects 查询没有返回任何结果?

c# - IEnumerable<T> 以某种方式转换为 EntitySet<T>

asp.net-mvc - ModelState.AddModelError 不显示任何消息

c# - Wpf - 如何在特定单元格编辑结束后以编程方式结束行编辑

asp.net - 如何防止 ?Area= 添加到生成的 URL 中

asp.net-mvc-3 - ASP.NET MVC 3 中 ModelState.IsValid 的限制

javascript - 如何在 asp.net mvc3 中使用 jquery 函数将值从 View 传递到 Controller

c# - 为什么重用 DataContext 会对性能产生负面影响?