J'utilise MVC 3 dans mon projet et je constate un comportement très étrange.
J'essaie de créer un champ caché pour une valeur particulière sur mon modèle, le problème est que, pour une raison quelconque, la valeur définie sur le champ ne correspond pas à la valeur dans le modèle.
par exemple
J'ai ce code, juste comme test:
<%:Html.Hidden("Step2", Model.Step) %>
<%:Html.HiddenFor(m => m.Step) %>
Je pense que les deux champs cachés auraient la même valeur. Ce que je fais est de définir la valeur sur 1 la première fois que j'affiche la vue, puis après la soumission, j'augmente la valeur du champ Modèle de 1.
Ainsi, la première fois que je rend la page, les deux contrôles ont la valeur 1, mais la deuxième fois, les valeurs rendues sont les suivantes:
<input id="Step2" name="Step2" type="hidden" value="2" />
<input id="Step" name="Step" type="hidden" value="1" />
Comme vous pouvez le voir, la première valeur est correcte, mais la deuxième valeur semble être la même que la première fois que j'affiche la vue.
Qu'est-ce que je rate? Les helpers * For Html mettent-ils en cache les valeurs d'une manière ou d'une autre? Si tel est le cas, comment puis-je désactiver cette mise en cache?.
Merci de votre aide.