hejdig.Le modèle aspnetmvc est mis à jour mais ne met pas à jour le contrôle
Dans Aspnetmvc2, j'ai un objet modèle que j'envoie à une vue. Un contrôle dans la vue n'est pas mis à jour avec la valeur. Pourquoi? Dans quel piège évident suis-je tombé?
La vue:
<%:Html.TextBox(
"MyNumber",
null == Model ? "1111" : Model.MyNumber) %>
<%:Model.MyNumber%>
est d'abord un creux tiré par les cheveux Get. La valeur "1111" dans la zone de texte est mise à jour manuellement à "2222". Nous posons le formulaire au contrôleur qui ajoute "2222" à l'objet Modèle et l'envoie à nouveau à la vue.
Le contrôleur:
[HttpGet]
public ActionResult Index()
{
return View();
}
[HttpPost]
public ActionResult Index(MyModel myModel)
{
myModel.MyNumber += " 2222";
return View(myModel);
}
Alltogether nous obtenons une sortie comme:
<input id="MyNumber" type="text" value="1111">
1111 2222
Comme vous pouvez le voir le contrôle ne pas utiliser l'attribut mais tombe plutôt revenir à Thew viewstate du modèle qui doesn n'existe pas dans Aspnetmvc. C'est la même chose avec Razor.)
Utilisez ModelState.Clear() pour effacer toutes les propriétés. – LosManos
Si c'est le cas, alors quel est le point de dire 'return View (model)' (à partir d'une action Edit) si les helpers vont l'ignorer quand même? Deuxième point, beaucoup de vos réponses ont sauvé la journée pour moi, tout comme celle-ci. –
@EricNelson, le point est que le modèle pourrait être utilisé dans la vue dans quelque chose de différent d'un assistant HTML. Par exemple afficher une valeur: '