Podés ponerles un atributo = OnBlur y que ejecuten la función js

así

<%@ Page Language="C#" AutoEventWireup="true"
CodeBehind="Default.aspx.cs" Inherits="autoCalculo._Default" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd";>

<html xmlns="http://www.w3.org/1999/xhtml"; >
<head runat="server">
    <title>Untitled Page</title>
    <script type="text/javascript" language="javascript">
    var acumulado = 0;
    function calcular(e)
    {
        acumulado+=parseInt(e.value);
        window.alert(acumulado);
    }
    </script>
</head>
<body>
    <form id="form1" runat="server">
    <div>
        <asp:TextBox ID="TextBox1" runat="server"></asp:TextBox>

    </div>
    </form>
</body>
</html>


y el C#

protected void Page_Load(object sender, EventArgs e)
{
this.TextBox1.Attributes.Add("Onblur", "javascript:calcular(this)");
}

Por ejemplo, la idea es esa.

Saludos.

On 10/17/07, Eliseo Alegre <[EMAIL PROTECTED]> wrote:
>
>
> Hola:
>
> estoy programando una pagina asp.net 2.0 en la que tengo 24 campos (textbox)
> de los cuales quiero saber el total a medida que se van cargando.
>
> Pensé en dos opciones:
>
> 1.- utilizar el evento lostfocus del textbox y el atributo AutoPostBack en
> true, pero es muy lento y recarga la página con cada dato ingresado.
>
> 2.- una función en java que haga el cálculo del lado del cliente, pero no se
> como referirme al control asp:textbox desde java.
>
> quisas la solución sea utilizar ajax, pero no se como.
>
> me podrán dar una mano?
>
> GRACIAS!!!
>
> Eliseo


-- 
Leonardo Micheloni.

http://leomicheloni.blogspot.com/

Responder a