Riformulo la domanda, perchè era mal posta:
Buongiorno a tutti.
Premetto che ho lacune in javascript, ma siccome mi hanno consigliato di usarlo per risolvere il mio problema...
Su un repeater ho un textbox (numerico)
Al cambiare di questo textbox (o megli alla validazione) devo modificare il contenuto di un altro textbox eseguendo del codice JavaScript con accesso a sqlServer.
Pare però si pianta ll'assegnazione degli oggetti in variabili.
Il codice in vbNet è il seguente:
Protected Sub RepeaterDip_ItemCreated(sender As Object, e As System.Web.UI.WebControls.RepeaterItemEventArgs) Handles RepeaterDip.ItemCreated
If e.Item.ItemType = 0 Then Exit Sub
Dim txt1 As TextBox = e.Item.FindControl("txtLordo")
Dim txtRes As TextBox = e.Item.FindControl("txtAccantonamento")
Dim lblCdDip As Label = e.Item.FindControl("lblCodice")
txt1.Attributes.Add("onkeyup", String.Format("MakeTotal({0},{1},{2},{3},{4});", Periodo, lblCodiceAzienda.Text, lblCdDip.ClientID, txt1.ClientID, txtRes.ClientID))
End Sub
In JavaScript invece è il seguente:
<script language='javascript' type='text/javascript'>
function MakeTotal(Periodo, CdAzienda , CdDipendente , Lordo , txtRes) {
var olblCdDip = $get(CdDipendente);
var oTxtLordo = $get(Lordo);
var connection = new ActiveXObject("ADODB.Connection") ;
var connectionstring="Data Source=aaaa;Initial Catalog=bbbb;User ID=cccc;Password=dddd;Provider=SQLOLEDB";
connection.Open(connectionstring);
var rs = new ActiveXObject("ADODB.Recordset");
rs.Open("select [dbo].[RecalcAccantonamento]("+Periodo+",'"+CdAzienda+"','"+CdDipendente+"',"+Lordo+")", connection);
rs.MoveFirst
var Strreturn=rs.fields(1)
rs.close;
connection.close;
$get(txtRes).value = strreturn;
return false;
}
</script>
mi aspetterei che, cambiando il valore sul txtLordo del repeater, si modificasse il valore sul txtAccantonamento, ma il programma sui pianta a questa riga di codice javascript:
var olblCdDip = $get(CdDipendente);
qualcuno sa dirmi dove sbaglio?
grazie mille.
Marco.