0

我想使用以下代码制作一个表格,我为 View 开发了模型:

4

1 回答 1

2

请阅读以下博客文章,以更好地了解模型绑定如何用于集合以及您的输入字段应如何命名:http ://www.hanselman.com/blog/ASPNETWireFormatForModelBindingToArraysListsCollectionsDictionaries.aspx

好的,现在让我们摆脱这个foreach循环并使用编辑器模板,好吗?

<table style="width:65%; vertical-align:top" id="sample">
    <%= Html.EditorFor(x => x.Properties) %>
</table>

现在定义一个编辑器模板,该模板将自动为属性集合(~/Views/Shared/EditorTemplates/PropertyModel.ascx)的每个元素呈现:

<%@ Control 
    Language="C#" 
    AutoEventWireup="true" 
    Inherits="System.Web.Mvc.ViewUserControl<PropertyModel>" 
%>
<tr>
    <td>
        <%= Html.LabelFor(x => x.ParameterName) %>
    </td>
    <td>:</td>
    <td>
        <%= Html.TextBoxFor(x => x.ParameterName) %>
    </td>
</tr>

就这些单选按钮而言,您的设计中有问题。它们不是集合模型的一部分,而是主视图模型的一部分,但是您将它们放在为集合属性的每个元素呈现的 foreach 循环中。您可能需要重新考虑您要在这里做什么。

于 2012-08-01T16:18:42.480 回答