如何将值从Javascript传递到代码功能后面的代码?

时间:2018-12-19 12:07:09

标签: javascript asp.net

我无法将Javascript中的值传递给后面的代码。 结果值始终是不确定的。

我已附上代码:                 

    <input id="Button2" type="button" value="FunctionCall" onclick="CallingServerSideFunction()" />
<script type="text/javascript">

    function CallingServerSideFunction() {
        alert("start");
        var result =PageMethods.Add(1,2);
        alert(result);
    }

</script>

</form>

我的CS代码:      公共静态int Add(int x,int y)

    {
        int k = x + y;
        return k;
    }

帮我解决这个问题!

1 个答案:

答案 0 :(得分:0)

发生这种情况是因为 PageMethods 异步调用,因此显示在Web方法结果之前的警报分配了可变结果。

我希望下面的代码会有所帮助。

Javascript:

<script type="text/javascript">
    function CallingServerSideFunction() {
        PageMethods.Add(1, 2, OnSuccess);
    }
    function OnSuccess(response, userContext, methodName) {
        alert(response);
    }
</script>

HTML:

<input id="Button2" type="button" value="FunctionCall" onclick="CallingServerSideFunction()" />

C#:

[System.Web.Services.WebMethod()]
[System.Web.Script.Services.ScriptMethod()]
public static int Add(int x, int y)
{
    int k = x + y;
    return k;
}