【问题标题】:Showing Entity Framework model in Telerik MVC Grid在 Telerik MVC 网格中显示实体框架模型
【发布时间】:2013-06-03 19:59:47
【问题描述】:

目前我有这个AcceptedProposals 视图,用于显示来自实体框架的提案列表的详细信息。这是我在控制器中的代码:

public ActionResult AcceptedProposals()
{
    var proposals = db.Proposals.Where(p => p.CollegeFundDecision == true);
    return View(proposals);
}

在我看来,我有以下行,但它给了我这个错误:

System.InvalidOperationException:模型项传入 字典是类型 'System.Data.Objects.ObjectQuery`1[URGLibrary.Proposal]',但这 字典需要“URGLibrary.Proposal”类型的模型项。

@(Html.Telerik().Grid<Proposal>((IEnumerable<Proposal>)Model))

知道如何让这个网格正确显示吗?此外,一旦我开始工作,如果我想让它有一个年份的下拉菜单来选择我正在查看的提案年份,我是否会将这个网格代码放入部分视图中?

感谢您的帮助!

【问题讨论】:

    标签: asp.net asp.net-mvc entity-framework telerik telerik-mvc


    【解决方案1】:

    在将集合传递给视图之前,您尚未枚举您的集合。使用 .ToArray 或 .ToList 在控制器中预枚举您的集合是一种很好的做法,这样您就不会在视图中意外地向它添加位。这意味着您的操作应如下所示:

    public ActionResult AcceptedProposals()
    {
        var proposals = db.Proposals.Where(p => p.CollegeFundDecision == true).ToArray();
        return View(proposals);
    }
    

    这与错误的 ObjectQuery 部分有关(尚未完成并从数据库中检索的集合)。

    试试这个,如果它解决了问题或给你一个更简单的错误消息,请告诉我。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-07-22
      • 1970-01-01
      • 2012-05-17
      • 2014-08-06
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多