J'ai un contrôle TextArea () dans ma vue implémenté à l'aide de Razor Engine.
@Html.TextArea("EventNature",new { style = "width: 200px; height: 100px;" })
Comment puis-je définir l'attribut Maxlength pour ce contrôle?
Y at-il un attribut intégré dans RazorEngine ou dois-je utiliser des scripts?
Vous pouvez le faire comme:
@Html.TextArea("EventNature",new { maxlength=50, // or other value
style = "width: 200px; height: 100px;" })
Sachez que c'est un attribut HTML5
maxlength HTML5
Nombre maximal de caractères (points de code Unicode) que l'utilisateur peut entrer. S'il n'est pas spécifié, l'utilisateur peut entrer un nombre illimité de caractères.
Validation Javascript (avec jQuery) pour HTML <5:
$('#EventNature').keypress(function(){
if (this.value.length >= 10) // allowing you to enter only 10 chars.
return false;
});
Cela fonctionne également pour le TextAreaFor helper avec plusieurs types anonymes dans new
Confirmé à fonctionne bien dans Visual Studio 2015 avec MVC 5
@Html.TextAreaFor(model => model.Comments, 5, 500, new {maxlength=4000, @class = "form-control" })
Vous pouvez également limiter la longueur de la zone de texte, comme ceci:
<textarea id="EventNature1" maxlength="10"></textarea>
OR
@Html.TexareaFor(m=>m.Name,new{@maxlength="10"})
<p>Customer Number: @Html.TextBox("SearchString1",null, new {maxlength = 6})
<input type="submit" value="Filter" /></p>
Ce qui précède est un exemple qui m'a permis de limiter le nombre maximum de caractères autorisés. Les astuces que vous pouvez parcourir lorsque vous utilisez un environnement .Net sont extrêmement utiles. (* remarque, cela ne change pas physiquement la taille de la zone de texte)
"SearchString1" = Nom de chaîne ----- null = Valeur de l'objet ------ new {maxlength = 6} = object htmlAttributes