Hay varios casos que podemos analizar:
Caso 1: Convertir todo el texto a mayúsculas usando un estilo css:
En el head de la página aspx creamos el estilo:
<style type="text/css">
.ToUpper
{
text-transform: uppercase;
}
</style>
Luego, al control textbox le añadimos el atributo cssClass=”ToUpper”
<asp:TextBox ID="TextBox1" CssClass="ToUpper" runat="server"></asp:TextBox>
<asp:Button ID="Button1" runat="server" onclick="Button1_Click" Text="Guardar" />
Esta es la forma más simple de realizar esta conversión… cualquier texto que el usuario tipee, será disfrazado en mayúsculas, digo disfrazado porque no es una verdadera conversión, sólo nos lo muestra en mayúsculas, pero el texto sigue en minúsculas…
y digamos que deseas guardar la data del textbox en el servidor EN MAYÚSCULAS, pues simplemente usamos el método ToUpper del textbox y problema solucionado:
protected void Button1_Click(object sender, EventArgs e)
{
string strText = TextBox1.Text.ToUpper();
}
Si quisieras más bien mostrar en minúsculas, harías esto en el css:
text-transform: lowercase;
y esto en el click del botón:
TextBox1.Text.ToLower();
Caso 2: Convertir todo el texto a mayúsculas obligándole al usuario a que escriba todo en mayúsculas ;)
Para esto, añadimos un control requiredfieldvalidator y un control regular expressionvalidator:
<asp:TextBox ID="TextBox1" runat="server"></asp:TextBox>
<asp:RequiredFieldValidator ID="RequiredFieldValidator1" runat="server"
ErrorMessage="*" ControlToValidate="TextBox1" Display="Dynamic"></asp:RequiredFieldValidator>
<asp:RegularExpressionValidator ID="RegularExpressionValidator1" runat="server"
ErrorMessage="Todos los caracteres deben estar en mayúscula" ControlToValidate="TextBox1" Display="Dynamic"
ValidationExpression="^[A-Z]*$"></asp:RegularExpressionValidator>
<asp:Button ID="Button1" runat="server" onclick="Button1_Click" Text="Guardar" />
Esta situación es útil por ejemplo cuando deseamos que el usuario sea consciente de lo que ingresa.
Caso 3: Convertir todo el texto a mayúsculas , haciendo uso de javascript,
En el head de la página aspx insertamos la función javascript:
<script type="text/javascript">
function changeToUpperCase(controlName)
{
document.getElementById(controlName).value = document.getElementById(controlName).value.toUpperCase();
}
</script>
Luego, del lado del code-beside:
protected void Page_Load(object sender, EventArgs e)
{
TextBox1.Attributes.Add("onkeyup","changeToUpperCase(this.id)");
TextBox1.Attributes.Add("onchange", "changeToUpperCase(this.id)");
}
protected void Button1_Click(object sender, EventArgs e)
{
string strText = TextBox1.Text;
}
Caso 4: Convertir sólo el primer caracter de cada palabra a mayúsculas , para este caso hacemos uso de alguna cultura que ya mantenga estas especificaciones… como por ejemplo la cultura norteamericana ( en-US ) quien considera que en los títulos el primer caracter deba ir en mayúsculas, veamos el ejemplo:
En este caso, para el lado aspx no hacemos nada más que tener el textbox y el boton:
<asp:TextBox ID="TextBox1" runat="server"></asp:TextBox>
<asp:Button ID="Button1" runat="server" onclick="Button1_Click" Text="Guardar" />
y en el clik del botón:
protected void Button1_Click(object sender, EventArgs e)
{
System.Globalization.TextInfo TI = new System.Globalization.CultureInfo("en-US", false).TextInfo;
string strText = TI.ToTitleCase(TextBox1.Text);
}
Eso es todo por ahora ;)
No hay comentarios.:
Publicar un comentario