所以我尝试在帖子视图中创建评论表单和评论视图。
基本上我的博客有一个帖子视图,我想在每个博客上显示评论表和评论部分。
我已准备好所有观点,到目前为止,我的表格显示在我的帖子视图的底部。
我要做的是将我的评论视图添加到表单上方的帖子视图中。
评论控制器
// GET: /Comments/_AllComments - Partial view
public ViewResult _AllComments(int postid)
{
TempData["PostId"] = postid;
return View("_AllComments");
}
发布详细信息视图
@model MyProject.Models.Post
//MARKUP OMITTED
//Comments Partial View
@Html.Partial("_AllComments", new Invest.Models.Comment())
//Comments Form Partial View
@Html.Partial("_Comment_Form", new Invest.Models.Comment())
部分视图 - 所有评论
@model IEnumerable<MyProject.Models.Comment>
//MARKUP OMITTED
我得到的错误是:
传递到字典中的模型项是'MyProject.Models.Comment'类型,但是这个字典需要一个类型为'System.Collections.Generic.IEnumerable`1 [MyProject.Models.Comment]'的模型项。 / p>
有人能告诉我这是怎么回事吗?我已经尝试将部分更改为Html.RenderPartial
,但也无效。
答案 0 :(得分:0)
如果仔细观察,您会看到部分视图需要集合 ,并且您正在传递 单个对象
要解决此问题,您可以将部分行更改为如下所示:
//Comments Partial View
@Html.Partial("_AllComments", new List<Invest.Models.Comment>(){ new Invest.Models.Comment()})
注意:如果您想使用该操作的结果(部分视图),则使用Html.Partial
不会调用操作_AllComments
, Html.Action
或Html.RenderAction
用于执行此操作。