【发布时间】:2019-06-05 13:35:59
【问题描述】:
我想将模型传递给自定义剃须刀助手以执行重复的剃须刀生成任务。我想要生成的代码如下所示:
@foreach (Place P in Model.Places)
{
<div class="col-md-4 clsBorder">
@if (P.prop1 != null && P.prop1 != "")
{<div class="row ">
<div class="col-6">
@Html.DisplayNameFor(model => P.prop1 )
</div>
<div class="col-6">
@Html.DisplayFor(model => P.prop1 )
</div>
</div>}
@if (P.prop2 != null && P.prop2 != "")
{<div class="row">
<div class="col-6">
@Html.DisplayNameFor(model => P.prop2)
</div><div class="col-6">
@Html.DisplayFor(model => P.prop2)
</div>
</div>}
</div>
}
显然,Model.Places 中可能有超过 2 个 Place 对象,并且每个 Place 对象中可能有更多的 prop1 和 prop2。
那么如何传递 Places 对象(可能是 List<customClass>),并为每个属性生成代码?
【问题讨论】:
-
您将如何确定列表?
prop1和prop2你将如何根据这些生成列表? -
您是否有理由希望拥有自定义助手而不是局部视图?
-
@Justcode - 如果没有其他机制,则使用反射
-
@DarjanBogdan - 看起来更优雅