JavaScript中的PageMethods作为函数的返回 - c#

javascript:

            var Enabled = false;
            function GateWay_Enabled(GateWay_Name) {
                PageMethods.GateWay_Enabled(GateWay_Name, onRequestComplete, onError);
                return Enabled;
            }

            function onRequestComplete(result) {
                Enabled = result;
            }
            function onError(result) {
                alert('Error');

            }
            var MyVariable = GateWay_Enabled('GateWay_Name');

服务器端代码(C#):

[WebMethod]
[ScriptMethod]
public static bool GateWay_Enabled(string GateWay_Name)
{
    bool Enabled = true;
    return Enabled;
}

为什么MyVariable始终为假?
还有另一种方式可以写PageMethods.GateWay_Enabled(GateWay_Name, onRequestComplete, onError);作为GateWay_Enabled函数的返回吗?
我正在寻找这样的东西:

var MyBoolVariable =
bool.parse(PageMethods.GateWay_Enabled(GateWay_Name,
onRequestComplete, onError));

编辑1:
一切正常,PageMethods没有错误。
脚本管理器中的EnablePageMethods为true。

编辑2:
我无法将MyVariable放在onRequestComplete()函数中。
我使MyVariable使我的代码更容易。
MyVariable的真实代码是:

    GateWays = [
                        { "Cod": 1, "Enabled": GateWay_Enabled('1') },
                        { "Cod": 2, "Enabled": GateWay_Enabled('2') },
                        { "Cod": 3, "Enabled": GateWay_Enabled('3') },
                        { "Cod": 4, "Enabled": GateWay_Enabled('4') },
                        { "Cod": 5, "Enabled": GateWay_Enabled('5') },
                        { "Cod": 6, "Enabled": GateWay_Enabled('6') },
                        { "Cod": 7, "Enabled": GateWay_Enabled('7') }
                ];

我想在另一个地方使用此数组。
我不能将其放在onRequestComplete()函数中。
我该怎么办?

参考方案

调用PageMethods是异步的:return Enabled行在调用函数onRequestComplete之前执行。

尝试使用MyVariable代替将您拥有的读取onRequestComplete的任何代码放入result函数。

在您进行Edit2和评论后,我建议您:

在给定输入ID数组的情况下,重构PageMethod以返回整个GateWays数组,以避免进行7个AJAX调用。
当用户单击链接时,使所有这些AJAX都被调用,然后将随后的代码放入onRequestComplete方法中。

另外,如果这些数据在用户点击之间没有变化,建议您在服务器端获取。

没有简单的方法来确保用户单击代码一直等到所有七个呼叫都完成之后。

如何在没有for循环的情况下在Javascript中使用Django模板标签 - javascript

我想在JavaScript中使用模板变量:我的问题是在javascript代码中使用for循环,for循环之间的所有事情都会重复..但我不想要....下面粘贴了我的代码..有人可以告诉我更好的方法吗这..因为这看起来很丑..这是我的代码: {% block extra_javascript %} <script src="/static/js…

如何从php中获取datatables jQuery插件的json数据 - php

我是PHP的新手,正在尝试使用Datatables jQuery插件。我知道我必须从.php文件中获取数据,然后在数据表中使用它,但是我似乎无法通过ajax将其传递给数据表。我设法从数据库中获取数据,并对其进行json编码,但是后来我不知道如何在我的index.php文件中调用它,并在其中显示它。我究竟做错了什么?这是我的代码:HTML(已编辑): <…

在xpath中选择多个条件 - php

我正在尝试使用来自高尔夫比赛的xml提要,以显示每个高尔夫球手在高尔夫球场上的位置。目前,我想展示符合两个条件的所有高尔夫球手(排在前25名,以及所有加拿大高尔夫球手)。这是xml提要的示例。<GolfDataFeed Type="Leaderboards" Timestamp="3/21/2012 9:18:09 PM&…

Mongo抛出“元素名称'名称'无效”异常 - c#

我正在更新一个简单的字段。var filterDocument = new BsonDocument { { "name", "alice" } }; var newDocument = new BsonDocument { { "name", "Alice" } }; coll…

T-SQL等价的正则表达式'\ b' - c#

我正在将利用regex的CLR函数转换为SQL函数。我知道SQL Server并不完全支持正则表达式,但是我只需要一种情况就可以搜索单词。搜索字段值:{"Id":1234, "Title": "The quick brown"}.NET中的正则表达式模式:'\b' + '…