phinojosa acá hay algo en javascript no soy bueno para javascript, pero podria servir, siempre y cuando lo utilices con el famoso <input> ahora podrias agregarlo a una clase que herede del "Inherits System.Web.UI.WebControls.TextBox" y en la funcion render agregarlo como atributo, esto permitiria que lo controle en el cliente.
Código HTML:
<script language="javascript">
'onblur="NumFormato('input1', false)"
function NumFormato(NombreControl, PermiteNulo)
{ var valor = document.all[NombreControl].value;
if (valor == '' && PermiteNulo == true) return;
valor = valor.replace('.', ',');
'posi = valor.search('-');
document.all[NombreControl].value = valor;
}
</script>
De esta otra forma al objeto asp:textbox evento OnTextChanged="TextBox1_TextChanged" cuando realice un cambio el evento autoposback podria darle formato de acuerdo a la configuracion del CurrentCulture.
Código HTML:
<asp:textbox id="Textbox1" runat="server" autopostback="true" OnTextChanged="TextBox1_TextChanged" Width="170px"></asp:textbox>
'Imports System.Threading
Function NumFormato(ByVal Numero As String, ByVal CantDecimales As Integer) As String
'Function NumFormato(ByVal Numero As String, ByVal Separador As String, ByVal nDecimal As Integer) As String
Thread.CurrentThread.CurrentCulture = New CultureInfo("es-CL", True)
Thread.CurrentThread.CurrentCulture.NumberFormat.NumberDecimalSeparator = "," 'Separador
Thread.CurrentThread.CurrentCulture.NumberFormat.NumberDecimalDigits = 2 'nDecimal
Return CDec(Numero).ToString("N")
End Function
Espero te sirva la forma de aplicar este tipo de cambios, esto va depender de la carga de datos de la pagina. Al realizar estos cambios por autopostback veras simples parpadeos en pantalla.
nos vemos
Kedron