2010-12-13 68 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

您必须确保您要将模型传递到您的局部视图中, 尝试将模型的新对象传递到局部视图中

相关问题