En el Ajax Control Toolkit de ASP.NET, hay un control llamado FilteredTextBoxExtender que sirve para filtrar los caracteres que se pueden ingresar en un TextBox. Esto es útil, por ejemplo, para permitir únicamente el ingreso de números si estamos capturando un código postal mexicano.

Bueno, estaba usándolo en un TextBox con la propiedad TextMode establecida en MultiLine, lo que en HTML se despliega como un textArea, una caja de texto con múltiples lí­neas.

Esta es la definición de mi caja de texto y el control de filtrado:

 <asp:TextBox 
      ID="Tags" 
      runat="server" 
      TextMode="MultiLine" 
      Width="200px" 
      Height="150px">
 </asp:TextBox>
  
 <cc1:FilteredTextBoxExtender 
      ID="Tags_FilteredTextBoxExtender" 
      runat="server" 
      Enabled="True" 
      TargetControlID="Tags" 
      ValidChars="abcdefghijklmnopqrstuvwxyz1234567890 ABCDEFGHIJKLMNOPQRSTUVWXYZ">
 </cc1:FilteredTextBoxExtender> 

Como puedes ver, estoy permitiendo la entrada de letras mayúsculas, minúsculas, números y espacios. Pero como se trata de una caja de texto con míltiples lí­neas, obviamente quiero que se permita teclear saltos de lí­nea cuando el individuo presione la tecla enter o intro.

Este caso es truculento, porque no puedes hacerlo en la página aspx, lo tienes que hacer en el código de servidor, de esta forma:

Tags_FilteredTextBoxExtender.ValidChars = Tags_FilteredTextBoxExtender.ValidChars & vbCrLf

Como sabrás, vbCrLf significa un salto de lí­nea en Visual Basic, y lo que hace esa lí­nea es añadirlo a los caracteres válidos.

¡Medio truculento pero funciona!

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *


cinco − = 4