【发布时间】:2011-03-16 19:40:17
【问题描述】:
首先我在 Views > Blog > DisplayTemplates 中有一个显示模板:
@model Domain.Model.BlogPost
<div class="blogSummary">
@Html.ActionLink(Model.Title, "post", new { Id = Model.PostID }, new { @class = "titleLink" })
<div class="subInfo">
Posted by @Model.Author on @Model.PostedDate.ToString("D") | @Model.PostComments.Count
Comment(s)</div>
<br />
<div class="summaryText">
@Html.Markdown(Model.Body.Length > 300 ? Model.Body.Remove(0, 300) + "..." : Model.Body)
@Html.ActionLink("(view more)", "post", new { Id = Model.PostID })
</div>
</div>
那我有一个看法:
@model IEnumerable<Domain.Model.BlogPost>
@{
ViewBag.Title = "Index";
}
@Html.DisplayFor(x => x, "BlogPostSummary")
但是,我在DisplayFor() 上遇到错误:
传入的模型项 字典是类型 'System.Data.Objects.ObjectSet`1[Domain.Model.BlogPost]', 但是这本词典需要一个模型 “Domain.Model.BlogPost”类型的项目。
我有点难以理解发生了什么。使用显示模板的最佳方式是什么?
【问题讨论】:
标签: c# asp.net-mvc templates asp.net-mvc-3 razor