2013-06-03 63 views
0

當前我有這個AcceptedProposals視圖,這是爲了顯示來自實體框架的提議列表的詳細信息。下面的代碼我有我的控制器:在Telerik MVC Grid中顯示實體框架模型

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

在我看來,我有以下行,但它給我這個錯誤:

System.InvalidOperationException: The model item passed into the dictionary is of type 'System.Data.Objects.ObjectQuery`1[URGLibrary.Proposal]', but this dictionary requires a model item of type 'URGLibrary.Proposal'.

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

任何想法,我怎麼就能夠這個網格顯示正確嗎?此外,一旦我得到這個工作,如果我想讓它有多年的下拉選擇我正在查看的提案的年份,我會把這個網格代碼放到一個局部視圖中嗎?

感謝您的幫助!

回答

0

在將它傳遞給視圖之前,你還沒有枚舉你的設置。它的好習慣是使用.ToArray或.ToList預先枚舉控制器中的設置,以便在視圖中無意中添加位。這意味着你的動作應該是這樣的:

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

這涉及到錯誤(其中處理不當尚未定稿,並從數據庫中檢索尚未集合)的一部分的ObjectQuery。

試試這個,讓我知道它是解決問題還是給你一個更簡單的錯誤信息。

+0

我只是改變了它,仍然得到相同的錯誤。 – Chiggins