Attribut lecture seule qui ne fonctionne pas dans ASP.NET MVC Modèles
J'ai marqué d'une propriété comme readonly dans le modèle de la classe, comme ceci:
public class RegisterModel
{
[Display(Name = "User name")]
[ReadOnly(true)]
public string UserName { get; set; }
...
}
et de mon point de vue:
@Html.EditorFor(m => m.UserName)
mais quand je lance l'application, la zone de texte n'est pas readonly.
Je sais que je peux utiliser les attributs html dans le but de le rendre en lecture seule, mais je préfère que si cela peut être fait dans la classe du modèle lui-même.
Peut-il être atteint?
- +1 pour l'essayer!!
Vous devez vous connecter pour publier un commentaire.
[Mise à jour] je ne pense pas que c'est possible sans
new { @readonly = "readonly" }
.Readonly
la propriété indique si la propriété cet attribut est lié à est en lecture seule ou en lecture/écriture. Les Détails Ici.Mais vous pouvez essayer de L'Aide Personnalisée ou essayez d'Utiliser
Editable
au lieuReadonly
sur le modèle et utiliser les métadonnées de propriété de votre point de Vue.Je suppose que vous avez déjà regardé dans
Ne ReadOnly(vrai) travail avec Html.EditorForModel?
aussi
un bel article odetocode.com
ReadOnly
attribut ne pas bloquer le HMTL de l'aide pour afficher le champ comme un permis d'entrée. C'est une information que seul le MVC de données de Classeur de respect.Cela signifie que
RegisterModel
exemple, qui seront réinjectées après la soumission du formulaire par l'utilisateur, sera toujours anull
valeur sur c'estUserName
propriété, indépendamment de la saisie de l'utilisateur dans le champ approprié de la forme.ReadOnly
n'. Cela clarifie il. Merci!Attribut lecture seule ne permet pas de définir l'entrée en lecture seule.
Essayer cette
Si vous utilisez une définition, vous devez utiliser { get; private set; }. Qui va faire en sorte que le client ne peut pas modifier la valeur. Vous pouvez également utiliser la saisie HTML 5 et marquer là.