是否可以在我的非剃刀MVC视图中创建单行迭代命令,执行以下操作:
@Model.Toys.Each(@<input name="Make@{@(item.Index + 1)}" type="hidden" value="@item.Item.Make" />)
答案 0 :(得分:2)
即使这样的事情是可能的,我也建议你反对。它很丑。您可以改为查看templated Razor delegates。
或简单循环:
@for (var i = 0; i < Model.Toys.Length; i++) {
<input name="Make@(i)" type="hidden" value="@Model.Toys[i].Make" />
}
或编辑器模板:
@Html.EditorFor(x => x.Toys)
更新:
您似乎想要为WebForms重写此代码。所以:
<% for (var i = 0; i < Model.Toys.Length; i++) { %>
<input name="Make<%= i %>" type="hidden" value="<%= Model.Toys[i].Make %>" />
<% } %>
答案 1 :(得分:0)
答案 2 :(得分:0)
你也可以简单地创建一个EditorTemplate来处理Toy类型的对象(命名约定处理这个,所以你可以简单地称它为toy.cshtml,如果它是强类型的话),然后在你的视图中你可以简单地{{1} }