我想将一个模型传递给一个自定义剃刀帮助器,以执行重复的剃刀生成任务。我想要生成的代码将如下所示:
@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 class="col-6"> @Html.DisplayFor(model => P.prop1 ) </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>} }
显然,在 Model.Places 中可能有2个以上的Place对象,每个Place对象中可能有比prop1和prop2更多的Place对象。
Model.Places
那么如何传递Places对象,它可能是一个 List<customClass> ,并为每个属性生成代码呢?
List<customClass>
618夏日盛惠
2核2G云服务器首年95元,GPU云服务器低至9.93元/天,还有更多云产品低至0.1折…
如何,你命名你的帮助器方法,并把参数模型放在括号里。
@Util.MyUtilMethod(Model.Places)
假设您的帮助器方法调用一个将模板呈现为字符串的服务
public static class Util //... public async string MyUtilMethod(List<customClass> places)