我有一个模型。
public class User
{
public User()
{
Addreses = new List<Address>();
}
public String Name { get; set; }
public String LastName { get; set; }
public List<Address> Addresses { get; private set; }
}
public class Address
{
public String Street { get; set; }
public String City { get; set; }
}
我想以ul列表的形式显示用户地址。我在视图页面中完成这个操作。
using (Html.BeginForm("UpdateUser", "Home", FormMethod.Post))
{
%>
<% =Html.TextBox("user.Name")%><br />
<% =Html.TextBox("user.LastName")%><br />
<ul>
<%
for (Int32 index = 0; index < ((User)ViewData["user"]).Addresses.Count; index++)
{%>
<li>
<% =Html.TextBox("user.Addresses[" + index + "].Street")%>,
<% =Html.TextBox("user.Addresses[" + index + "].PostalCode")%>,
<% =Html.TextBox("user.Addresses[" + index + "].City")%>
</li>
<%
}
%>
</ul>
<input type="submit" value="Submit" />
<% }%>
文本框中填充的数据在for语句中为空。当然,我可以添加下一个参数TextBox方法来分配值,但是两个文本框上面(例如"user.Name")正确读取/设置值。
我做错了什么?
附注:我正在使用MVC RTM 1.0。