L’atsortingbut maxlength ne s’affiche pas lorsque le code HTML est rendu?

J’ai une zone de texte dont le mode texte est défini sur multiligne. Faire cela rend la zone de texte comme une zone de texte. Quelque chose à cet effet:

Le problème que je rencontre est lorsque je lance mon projet et inspecte la zone de texte restituée. Le code HTML affiché ne montre pas l’atsortingbut maxlength, c’est comme s’il était parti:

rendu html:

  

Cela cause des problèmes pour moi parce que j’essaye de mettre du javascript / jquery pour limiter l’entrée de mon textarea, à savoir ceci:

 $('textarea').keypress(function (e) { var maxLength = $(this).attr('maxlength'); alert(maxLength); if (e.which < 0x20) { // e.which  max) { // Maximum exceeded this.value = this.value.subssortingng(0, max); } }); 

Mais maxLength est toujours indéfini ….

MaxLength propriété MaxLength n’est pas applicable pour , elle est donc simplement ignorée. De MSDN :

Cette propriété est applicable uniquement lorsque la propriété TextMode est définie sur TextBoxMode.SingleLine ou TextBoxMode.Password.

maxlength atsortingbut maxlength minuscule fonctionne sur mais tous les navigateurs ne le prennent pas en charge. Cela peut donc dépendre de cela ou de la manière dont ASP.NET gérera cette propriété (il ne le prend pas en charge et peut donc simplement supprimer cet atsortingbut).

Édition: vous pouvez contourner cette limitation en utilisant du JavaScript ou un contrôle de validation avec cette expression: ValidationExpression="^[\s\S]{0,500}$" (code à partir d’ ici ). Si vous souhaitez effectuer uniquement une validation côté client, vous avez au moins les options suivantes:

1) Utilisez un nom différent pour cet atsortingbut (tel que data-maxlength ) à la fois dans votre page ASP.NET et dans votre JavaScript:

   

Avec:

 var maxLength = $(this).data('maxlength'); 

2) Si vous n’utilisez pas directement votre contrôle dans votre code ASP.NET, vous pouvez utiliser un place du contrôle ASP.NET officiel , comme dans l’exemple suivant :