【发布时间】:2014-04-24 19:44:39
【问题描述】:
我有这个模型:
public class DefinitionListModel : List<DefinitionListItemModel>
{
}
然后我在 DisplayTemplates 中为它设置了这个显示模板(部分视图):
@model Company.Product.Models.DefinitionListModel
<dl>
@foreach (var definition in Model)
{
Html.DisplayFor(m => definition);
}
</dl>
调用这个默认显示模板,因为每个项目都是一个DefinitionListItemModel:
@model Company.Product.Models.DefinitionListItemModel
@Html.DisplayFor(m => m.Term, "DefinitionTerm");
@Html.DisplayFor(m => m.Description, "DefinitionDescription");
DefinitionTerm 模板看起来像这样:
@model object
@{
if (Model != null)
{
string s = Model as string;
if (s != null)
{
<dt>@s</dt>
}
else
{
// Other types and models that could be used.
// Last resort.
<dt>@Model.ToString()</dt>
}
}
}
放置在最后一个模板中的断点成功命中,视图和标记似乎运行良好,但没有呈现,甚至上面第一个模板中的 DL 标记也不呈现。
为什么会遇到断点但不渲染任何 HTML?
【问题讨论】:
标签: asp.net-mvc razor asp.net-mvc-5