72 votes

Puis-je définir la zone de texte sur readonly lors de l'utilisation de Html.TextBoxFor?

J'ai la balise suivante avec une expression Html.TextBoxFor et je veux que le contenu soit en lecture seule, est-ce possible?

 <%= Html.TextBoxFor(m => Model.Events.Subscribed[i].Action)%>
 

129voto

Dan Points 8469
<%= Html.TextBoxFor(m => Model.Events.Subscribed[i].Action, new { @readonly = true })%>

46voto

user3180965 Points 100

Utilisez le suivant:

  @Html.TextBoxFor(m => m.Whatever, new {@readonly = "readonly"})
 

Si vous souhaitez lui affecter une classe, vous pouvez le faire de la même manière, en ajoutant la propriété @class = "". J'espère que cela t'aides :)

41voto

Jaxidian Points 4946
 <%= Html.TextBoxFor(model => Model.SomeFieldName, new Dictionary<string, object>(){{"readonly", "true"}}) %>
 

Ne réalisez pas que ce n'est pas une manière "sécurisée" de le faire car quelqu'un peut injecter du javascript pour changer cela.

16voto

Ali Adravi Points 932

Pour le faire en lecture seule

 @Html.TextBoxFor(m=> m.Total, new {@class ="form-control", @readonly="true"})
 

À diable

 @Html.TextBoxFor(m=> m.Total, new {@class ="form-control", @disabled="true"})
 

6voto

Matt Dearing Points 2889
<%= Html.TextBoxFor(m => Model.Events.Subscribed[i].Action, new {readonly=true})%>

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X