Ich habe ein Modell
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; }
}
Und ich möchte Benutzeradressen als Liste anzeigen. Ich tue dies in Ansicht Seite
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" />
<% }%>
Und die Daten in den Textfeldern, die in der for-Anweisung ausgefüllt werden, sind leer. Ofcourse ich könnte nächsten Parameter TextBox-Methode hinzufügen, um Wert zuweisen, aber zwei Textboxen oben (zum Beispiel "user.Name") korrekt lesen/setzen Wert.
Was mache ich falsch?
PS. Ich verwende MVC RTM 1.0