使用vb.net从codebehind调用Javascript函数

使用vb.net从codebehind调用Javascript函数,javascript,asp.net,vb.net,Javascript,Asp.net,Vb.net,我想调用javascript函数并将参数传递给它,然后使用vb.net读取返回值 我的Javascript函数是 function calcHash(MerchID,OrdNo,Amt,RCode){ //order no. numerical values only for (var i=0; i<strlen; i++) { var x = OrdNo.substring(i,i+1) if (isNaN(x)) e

我想调用javascript函数并将参数传递给它,然后使用vb.net读取返回值

我的Javascript函数是

  function calcHash(MerchID,OrdNo,Amt,RCode){
    //order no. numerical values only

for (var i=0; i<strlen; i++)
{
        var x = OrdNo.substring(i,i+1)
            if (isNaN(x))
        else strDigit = strDigit + String(x);
}
        OrdNo = strDigit

    //declare variables and assign calculated values
    var HashA = OrdNo * Amt;
    var HashB = MerchID * Amt;
    var HashC = MerchID * OrdNo;
    var TotalHash = String((HashA + HashB + HashC) / (parseInt(MerchID) + parseInt(RCode)));

    //assign only 6 decimal places value
    if (TotalHash.indexOf(".") != -1)
        TotalHash = TotalHash.substr(0,TotalHash.indexOf(".")+7);
    else
        TotalHash = TotalHash + ".000000";

    document.form1.HashCount.value = TotalHash;
}
但我仍然不知道如何向该函数传递参数以及如何读取返回值。

您可以这样做:

ScriptManager.RegisterClientScriptBlock(Me.Page, GetType(String), "calcHashFunction", "var val=calcHash(1,2,3,4);", True)
现在,在
val
变量中有了返回值,您可能可以在客户端使用它

使用此功能:

function calcHash(MerchID, OrdNo, Amt, RCode) {
    //order no. numerical values only

    for (var i = 0; i < strlen; i++) {
        var x = OrdNo.substring(i, i + 1)
        if (isNaN(x))
        else strDigit = strDigit + String(x);
    }
    OrdNo = strDigit

    //declare variables and assign calculated values
    var HashA = OrdNo * Amt;
    var HashB = MerchID * Amt;
    var HashC = MerchID * OrdNo;
    var TotalHash = String((HashA + HashB + HashC) / (parseInt(MerchID) + parseInt(RCode)));

    //assign only 6 decimal places value
    if (TotalHash.indexOf(".") != -1) TotalHash = TotalHash.substr(0, TotalHash.indexOf(".") + 7);
    else TotalHash = TotalHash + ".000000";

    document.form1.HashCount.value = TotalHash;
    return TotalHash;
}

您可以将返回值分配给javascript中的隐藏字段,并在服务器端使用它

function calcHash(MerchID, OrdNo, Amt, RCode) 
{
    var TotalHash = String((HashA + HashB + HashC) / (parseInt(MerchID) + parseInt(RCode)));
    var hid=document.getElementById('<hid.ClientID');
    hid.value=TotalHash;
}
函数计算(MerchID、OrdNo、Amt、RCode)
{
var TotalHash=String((HashA+HashB+HashC)/(parseInt(MerchID)+parseInt(RCode));

var hid=document.getElementById(“如何使我的javascript函数返回TotalHash?您希望从函数返回的值是什么?如何使用代码隐藏为函数赋值?假设我有变量并希望将其传递到函数以返回值我希望从函数返回的值是TotalHash如何插入我自己的变量”在这个语句var val=calcHash(1,2,3,4)中,来自代码隐藏的es;我想把MerchID变量
ScriptManager.RegisterClientScriptBlock(Me.Page, GetType(String), "calcHashFunction", "var val=calcHash(" + Merchantid + "," + OrderNo + "," + Amount + "," + ReturnCode + ");", True) 
function calcHash(MerchID, OrdNo, Amt, RCode) 
{
    var TotalHash = String((HashA + HashB + HashC) / (parseInt(MerchID) + parseInt(RCode)));
    var hid=document.getElementById('<hid.ClientID');
    hid.value=TotalHash;
}