2011-07-27 58 views

回答

2

即使这样的事情是可能我尔德建议,您对。它很丑。您可以参考templated Razor delegates

或者一个简单的循环:

@for (var i = 0; i < Model.Toys.Length; i++) { 
    <input name="[email protected](i)" type="hidden" value="@Model.Toys[i].Make" /> 
} 

或编辑模板:

@Html.EditorFor(x => x.Toys) 

UPDATE:

看来要重新编写的WebForms此代码。所以:

<% for (var i = 0; i < Model.Toys.Length; i++) { %> 
    <input name="Make<%= i %>" type="hidden" value="<%= Model.Toys[i].Make %>" /> 
<% } %> 
+1

丑陋是主观的。该代码看起来很适合我。 – jfar

+0

@jfar,我同意,这是主观的。但是,如果您尝试使用'.ForEach'方法将这项工作放在一个班轮上,那么它会开始看起来很丑陋,我认为:-) Razor模板Razor代表对我来说似乎是一个很好的解决方案。 –

+0

确实,代表解决方案非常好,但我没有看到OP想要做什么错误。 Hrm,看起来他实际上是在寻找模板化的代表... – jfar

0

你也可以简单地创建一个EditorTemplate处理类型玩具的对象(命名约定处理这个,所以你可以简单地称它为toy.cshtml,如果它是强类型的话),然后在你的视图中你可以简单地使用@Html.EditorFor(x=>x.Toys)