我有一个模型,其中包含名为Organizations
的Organization
的列表。每个Organization
有一个Name
和一个Number
。使用Textboxfor或Editorfor作为列表的一部分的属性
为了让模型在提交表单时自动绑定,我需要按照我从几个教程中找到的命名约定(请查看代码中的namePrefix
)给每个文本框一个特定的名称。
但是,我宁愿使用Html.TextboxFor
而不是Html.Textbox
,以便它将使用数据属性和验证。我怎样才能让Html.TextboxFor使用我需要的命名约定?
<%
int orgIndex = 0;
foreach(Organization org in Model.Organizations)
{
string namePrefix = String.Format("Organizations[{0}].", orgIndex++);
%>
<%= Html.TextBox(namePrefix + "Name" , org.Name) %>
<%= Html.TextBox(namePrefix + "Number", org.Number) %>
<% } %>
这里是我的模型......
public class User
{
[ListMinLength(1)]
public List<Organization> Organizations;
}
public class Organization
{
[Display(Prompt = "COMMON_DEALER_NAME", ResourceType = typeof(Modules.Properties.Resources))]
public string Name { get; set; }
[Display(Prompt = "DEALER_ID_PLACEHOLDER", ResourceType = typeof(Modules.Properties.Resources))]
public string Number { get; set; }
public long Id { get; set; }
}
我想我需要制作一个自定义编辑器模板,并使用EditorFor html helper。 – Dave 2014-12-02 20:50:45