2010-12-13 84 views
1

我一直在尋找這個錯誤很長一段時間,似乎無法弄清楚我可能做錯了什麼。將正確的模型傳遞給局部視圖

我有其中加入這樣的局部視圖:

 <% Html.RenderPartial("~/Views/ForumPosts/ForumPostCreateForm.ascx", ViewData.Model); %> 

和部分視圖的頂部看起來像這樣:

<%@ Control Language="C#" AutoEventWireup="true" Inherits="System.Web.Mvc.ViewUserControl<xxxx.Web.Controllers.ForumThreadsController.ForumThreadFormViewModel>" %> 

我收到的錯誤是:

傳入字典的模型項目類型爲'xxx.Core.ForumThread',但此字典需要類型爲'xxx.Web.Controllers.ForumThreadsCon的模型項troller + ForumThreadFormViewModel」。

如果我沒有弄錯,都採取稱爲ForumThread的模型,但顯然我一定錯過了什麼。

回答

3

的。如果沒搞錯都採取 模型稱爲ForumThread ...

根據您發佈的代碼,部分視圖需要xxxx.Web.Controllers.ForumThreadsController.ForumThreadFormViewModel。要麼改變局部視圖的頂部,要麼尋找某種方法在ForumThread對象上傳遞ForumThreadFormViewModel

另一種解決方案是使用RenderAction來允許一個動作產生你想要的ForumThreadFormViewModel

1

請確保您的模型類型的xxxx.Web.Controllers.ForumThreadsController.ForumThreadFormViewModel

要進行檢查,看在你的控制器的地步,其返回查看。 你正在付諸實施的方法中的對象應該是類型ForumThreadFormViewModel

4

您必須確保您要將模型傳遞到您的局部視圖中, 嘗試將模型的新對象傳遞到局部視圖中

相關問題