为复杂对象创建模板

时间:2010-12-11 14:47:47

标签: asp.net-mvc asp.net-mvc-2

我有一个像这样的对象

public class Locs
{
    public string City {get; set; }
    public int Zip {get; set; }
}

public class Names
{
    public string FirstName {get; set; }
    public string LastName {get; set; }
    public Locs[] Locations {get; set; }
}

对于类名称,我基于[创建模板]生成强类型视图。但是当它生成时它只显示FristName和Last Name的输入控件。如何创建一个也可以从html页面获取位置的视图?这样我就可以轻松地从提交按钮保存数据。

我的表格就像这样

<input type="text" id="FirstName" name="FirstName" />
<input type="text" id="LastName" name="LastName" />
<p>
    <input type="text" id="City1" name="City1" />
    <input type="text" id="Zip1" name="Zip1" />
</p>
<a href="#" onclick="a function which will add more <p> containing inputs">Add more locations</a>

如您所见,用户可以动态创建City和Zip。我现在肯定他会创造多少。我怎样才能在我的视野中看到这样的物体?我可以自动获得这样的对象吗?我也想申请验证。

1 个答案:

答案 0 :(得分:0)

如果您尝试为每个位置显示编辑器,可以在视图中循环显示“位置”属性:

您的其余观点......

<% for (int i = 0; i < Model.Locations.Count; i++)
{ %>
<%= Html.TextboxFor(model => model.Locations[i].City) %>
<%= Html.TextboxFor(model => model.Locations[i].Zip) %>
}%>

继续观看。