【发布时间】:2011-01-14 01:20:27
【问题描述】:
看来,如果您只使用 Html.DisplayFor(model => model) 而不使用模板作为详细信息视图,则生成的标记将如下所示:
<div class="display-label">first name</div>
<div class="display-field">Dan</div>
<div class="display-label">last name</div>
<div class="display-field">M</div>
<div class="display-label">email</div>
<div class="display-field">danm@fakedomain.com</div>
这具有相当程度的灵活性。如果你为display-label 和display-field 创建CSS 类,你可以做很多事情,但是如果我想把它改成这样呢?
<p>
<span class="display-label">first name</span>:
<span class="display-field">Dan</span>
</p>
<p>
<span class="display-label">last name</span>:
<span class="display-field">M</span>
</p>
<p>
<span class="display-label">email</span>:
<span class="display-field">danm@fakedomain.com</span>
</p>
请注意,现在属性值对并排显示(而不是在单独的行上),并且每个属性后面都有一个冒号。
是否有任何方法可以创建自定义模板,当详细信息视图搭建时,该模板将为每个属性值对重复?
我不是在谈论模型的特定模板(例如,Person 模板)或特定属性的模板(例如,EmailAddress 模板)。我想要一些可以让我描述属性值对的外观的东西,然后DispalyFor() 应该为我的模型或视图模型中的每个属性自动重复该模板。
【问题讨论】:
标签: asp.net-mvc css templates scaffolding templating