Je viens de sortir des formulaires Web ASP.NET et est maintenant un débutant MVC. J'ai lu que MVC ne gère pas ViewState contrairement à ASP.NET Web Forms. Je me demandais comment vous pouvez atteindre la persistance des données.Postback Les données ne sont pas conservées
Je possède ce formulaire simple avec un modèle fortement typé:
class MyModel
{
public string TextboxData { get; set; }
public string HiddenData { get; set; }
}
Avec la forme suivante:
@using (Html.BeginForm())
{
@Html.TextBoxFor(m => m.TextboxData)
@Html.HiddenFor(m => m.HiddenData)
}
Mon contrôleur est simple. Il traite simplement les données dans le modèle et le transmet de retour à la vue:
[HttpPost]
public ActionResult PerformAction(MyModel mv)
{
mv.DoSomething();
return View(mv);
}
Comme le contrôleur réutilise tout le modèle, suis-je raison de supposer que toutes les données saisies par le précédent envoyées sont conservés à la prochaine rafraîchir?
En fait, celui pour TextBoxData a été conservé (après la publication, la zone de texte contient toujours les données entrées) mais celle pour HiddenData n'a pas été conservée. Est-ce que je fais quelque chose de mal ici?
est la variable mv.HiddenData dans le contrôleur rempli avec les données lorsque vous faites une publication?Sinon, les données ne seront bien sûr pas envoyées à la vue. Et oui, vous avez raison lorsque le mv contient du contenu pour les deux propriétés, elles doivent apparaître dans la vue. Je suppose que vous entrez les données pour le champ caché dans le HttpGet (puisque vous ne pouvez pas l'entrer dans le champ caché dans le formulaire ..) – Michel