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.
// Inclui o atributo maxlength
TextBox1.Attributes.Add("maxlength", "400");
// Inclui o atributo onkeyup
TextBox1.Attributes.Add("onkeyup", "return ismaxlength(this);");
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.
<script type="text/javascript">
function ismaxlength(obj)
{
var mlength = obj.getAttribute ? parseInt(obj.getAttribute("maxlength")) : ""
if (obj.getAttribute && obj.value.length > mlength)
{
obj.value = obj.value.substring(0, mlength)
}
}
</script>
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.
Posts relacionados:
- Dica – Converter um DataSet em XML
- Dica – Tornando um código obsoleto em .NET
- Exportando dados do GridView para Excel
- Dica – Adicionar um arquivo CSS dinamicamente em um WebForm
- Criando eventos personalizados em UserControl no ASP.NET
Postado em ASP.NET, C#, Dicas, VB.NET, Visual Studio | Marcado como .NET, ASP.NET, C#, Dicas, JavaScript, VB.NET, Visual Studio, WebForm





