Je modèleComment lier la valeur de la propriété imbriqué élément de tableau à TextBox dans ASP.NET MVC
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; }
}
Et je veux faire les adresses des utilisateurs d'affichage liste ul. Je fais ceci dans la vue page
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" />
<% }%>
Et les données dans les zones de texte remplies pour l'instruction sont vides. Bien sûr, je pourrais ajouter la méthode TextBox du paramètre suivant pour assigner une valeur, mais deux zones de texte supérieures (par exemple "user.Name") lisent/définissent correctement la valeur.
Qu'est-ce que je fais mal?
PS. J'utilise MVC RTM 1.0
Étant donné que le bot de la communauté SO a propulsé cela vers le haut, pouvez-vous confirmer si ce problème persiste ou non? –