Seguendo il tuo e mettendo del mio (aiutoooo) ho fatto una mezza cosa:
	codice:
	
  dim ValoreBase as integer= "20"
  If (e.Row.RowType = DataControlRowType.DataRow) Then
   Dim btnDiminuisciSconto As Button = TryCast(e.Row.FindControl("btnDiminuisciSconto"), Button)
            Dim txtTabelloneSconto As TextBox = TryCast(e.Row.FindControl("txtTabelloneSconto"), TextBox)
            Dim txtTabelloneImporto As TextBox = TryCast(e.Row.FindControl("txtTabelloneImporto"), TextBox)
            btnDiminuisciSconto.Attributes.Add("onclick", String.Format("cambioSconto({0},{1},'{2}');return false;", ValoreBase, txtTabelloneSconto.Text, txtTabelloneImporto.ClientID))
  end if
 
in JS
	codice:
	
 function cambioSconto(valorebase, sconto, id_txtTabelloneImporto) {
             var valBase = valorebase;
           var valSconto = (sconto-1);
           var scontoCalcolato = valBase - ((valBase / 100) * (valSconto));
     
           alert("valore base: " + valBase + " valore sconto: " + valSconto + " pos: " + id_txtTabelloneImporto);
           alert("prezzo scontato: " + scontoCalcolato);
           scontoCalcolato = scontoCalcolato.toFixed(2).toString().replace(".", ",")
           alert("valore corretto: " + scontoCalcolato);
    
       }
 
quindi ci siamo...
come faccio a resituirlo "scontoCalcolato" a 
Dim txtTabelloneImporto As TextBox = TryCast(e.Row.FindControl("txtTabelloneImporto"),
mi manca solo questo...
poi se funziona sistemiamo anche la sintassi perchè nel tuo esempio c'erano altre condizioni.. ;-)
ciao e grazie