Archivo Agosto, 2009

Cómo agregar el salto de línea a los caracteres válidos de un FilteredTextBoxExtender

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:
  1. <asp:TextBox ID="Tags" runat="server" TextMode="MultiLine" Width="200px"
  2.             Height="150px"></asp:TextBox>
  3.         <cc1:FilteredTextBoxExtender ID="Tags_FilteredTextBoxExtender" runat="server"
  4.             Enabled="True" TargetControlID="Tags"
  5.             ValidChars="abcdefghijklmnopqrstuvwxyz1234567890 ABCDEFGHIJKLMNOPQRSTUVWXYZ">
  6.         </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:

VB.NET:
  1. 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!

No hay Comentarios