Conclusion en images, se trouvent dans le fondForms Comprendre dans MVC: Comment puis-je alimenter le modèle à partir d'une liste <>
Je vais avoir quelques problèmes pour obtenir le fonctionnement des formulaires dans MVC (comme je suis un développeur et WebForms veux vraiment commencer à utiliser MVC dans un grand projet)
Je pris le projet Web MVC2 et ajoutez simple ViewModel à elle
namespace TestForms.Models
{
public class myFormViewModel
{
public myFormViewModel() { this.Options = new List<myList>(); }
public string Name { get; set; }
public string Email { get; set; }
public List<myList> Options { get; set; }
}
public class myList
{
public myList() { this.Value = this.Name = ""; this.Required = false; }
public string Name { get; set; }
public string Value { get; set; }
public string Type { get; set; }
public bool Required { get; set; }
}
}
Créé un Strongly Typed View, passé un nouvel objet à la vue et exécutez-le.
Lorsque j'appuie sur submit, il ne retourne pas ce qui est dans la partie Options
... comment puis-je lier cela aussi?
mon avis
alt text http://www.balexandre.com/temp/2010-10-11_1357.png
remplissant le formulaire généré
alt text http://www.balexandre.com/temp/2010-10-11_1353.png
quand je presse la partie Soumettre Options
ne sont pas transmises au modèle! Qu'est-ce que j'oublie?
alt text http://www.balexandre.com/temp/2010-10-11_1352.png
Conclusion
Modification de la boucle en vue d'affecter le numéro séquentiel, nous avons maintenant
<%= Html.TextBox("model.Options[" + i + "].Value", option.Value)%>
model
est le nom de notre variable modèle que nous passons à la vue Options
est le nom de la propriété qui est de type List
et nous utilisons le nom de la propriété
Je l'ai fait, je l'ai fait, ou il ne montrera jamais 'Age' et' ZipCode' car il appartient à l'objet qui est passé à l'index 'View' ... ajouté l'image de celui-ci – balexandre
Ok! Jetez un oeil à cette question que j'ai faite ici sur SO il y a quelque temps. Il vous donnera toutes les étapes à suivre pour que le classeur modèle par défaut sérialise l'objet complexe. 'http: // stackoverflow.com/questions/3800305/construction-un-complexe-objet-étape-par-étape-où-pour-sauver-it' – Lorenzo
J'essaie mais je ne comprends pas, dans votre exemple, vous n'utilisez pas les vues fortement typées, vous utilisez ViewData/Session pour garder une trace des valeurs. ** J'ai essayé ** d'avoir '<% = Html.TextBox (" Name ", option.Name)%>' mais je reçois la même chose, mes 'Options' ne sont pas peuplées en aucune façon :( – balexandre