我无法将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;
}
帮我解决这个问题!
答案 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;
}