J'ai une zone de texte que je suis définissant commeModèle liaison sécurisée avec Textbox handicapés
<%= Html.TextBox("Username", Model.Form.Username,
new { @class = "textbox", @disabled = "disabled" })%>
Dans mon action
[AcceptVerbs(HttpVerbs.Post)]
[ValidateAntiForgeryToken]
public ActionResult EditLogin(LoginForm post) {
...
return View(model);
}
post.Username sera vide, toutes les autres propriétés se lient correctement, mais si je change @ disabled = "disabled to @ readonly =" readonly "le nom d'utilisateur se lie correctement et tout fonctionne
Il semble que la liaison par modèle ignore les valeurs dans les champs désactivés. J'ai besoin de la valeur du champ pour lier le modèle. Je peux utiliser readonly mais je préférerais utiliser désactivé, donc il est visuellement évident pour l'utilisateur qu'il ne peut pas modifier la valeur du champ.
Wow, je ne peux pas croire que je ne l'ai pas rencontré ce avant, ça ou complètement oublié. Merci. – modernzombie
C'est une chose facile à oublier, mais Dan Diplo a raison, dans de nombreux cas, un champ caché est un bon moyen d'aller. Par curiosité, pourquoi désactivez-vous un champ de nom d'utilisateur? –
Je crée un formulaire dans lequel un administrateur peut créer de nouvelles connexions pour le système. Je désactivais le nom d'utilisateur lorsque l'administrateur modifiait le login (le prénom et le nom et les emails sont éditables) car le nom d'utilisateur ne peut pas être changé. J'ai décidé d'utiliser readonly et je peux utiliser des CSS pour colorer le champ différemment. – modernzombie