Você já tentou utilizar o MaxLength do TextBox quando esse esta com TextMode igual a MultiLine?
No TextBox o TextMode é uma propriedade na qual definimos o tipo de campo será ele. Existem 3 tipos:
- SingleLine: após renderizado o HTML, será gerado um simples input do tipo Text;
- Password: será gerado um input do tipo Password;
- MultiLine: diferente dos anteriores será gerado um TextArea e esse não possui a propriedade MaxLength.
Para que possamos contornar essa situação, poderemos utilizar JavaScript para limitar a quantidade de caracteres digitados no TextBox.
Essa dica pode ser utilizada também em projetos ASP.NET com VB.NET ou até mesmo aplicá-las em projetos onde será desenvolvido com puro HTML, basta nesse caso fazer algumas adaptações.
Primeiro adicionaremos ao nosso Page_Load da página uma linha onde será incluído o atributo maxlength ao nosso TextBox com o valor definido.
<br />
// Inclui o atributo maxlength<br />
TextBox1.Attributes.Add("maxlength", "400");<br />
// Inclui o atributo onkeyup<br />
TextBox1.Attributes.Add("onkeyup", "return ismaxlength(this);");<br />
Após isso, adicionaremos então nosso
JavaScript a página. Essa
JavaScript será o responsável em limitar o numero de caracters no TextBox.
</p>
<p> function ismaxlength(obj)<br />
{<br />
var mlength = obj.getAttribute ? parseInt(obj.getAttribute("maxlength")) : ""<br />
if (obj.getAttribute && obj.value.length > mlength)<br />
{<br />
obj.value = obj.value.substring(0, mlength)<br />
}<br />
}</p>
<p>
Vale lembrar que não é necessário utilizar esse método quando o TextMode for do tipo SingleLine ou Password pois o MaxLength funciona nativamente em ambos.
Espero que essa dica seja útil.
Abraço e até a próxima.
Leia a postagem original