2

我有一个名为 MyTest.js 的 javascript 类,现在我在加载 MyWebPage.cs 时注册了这个脚本,但我需要将 3 个参数传递给函数,然后它将调用 Web 服务。这是我的javascript函数

MyTest.init = function() {
    var params = new Hash();
    params.set("blank", "blank");
    new Ajax.Request('/Test.asmx/CreateClients', {
        method: 'post',
        onSuccess: attachCallback(this, "Yay"),
        onFailure: attachCallback(this, "Nay"),
        onException: attachCallback(this, "Nay"),
        parameters: params
    });
}

现在我需要传递的参数是两个字符串、名称和注释,我可以在加载我的 .cs 文件时获得它们。如何将值传递给这个 init 函数?

谢谢

4

3 回答 3

2

使用数据属性:

MyTest.init = function() {
    var params = new Hash();
    params.set("blank", "blank");
    new Ajax.Request('/Test.asmx/CreateClients', {
        method: 'post',
        data: {Name:"name", Notes:"Notes"},
        onSuccess: attachCallback(this, "Yay"),
        onFailure: attachCallback(this, "Nay"),
        onException: attachCallback(this, "Nay"),
        parameters: params
    });
}
于 2012-06-01T18:10:21.947 回答
0

在我看来,您使用的是 Prototype,而不是 jQuery,但我不确定。如果你是,你只需要用parameters你的名字和注释属性来填充你的 Ajax.Request 对象。

MyTest.init = function(name, note) {
    var params = new Hash();
    params.set("blank", "blank");
    params.set("name", name);
    params.set("note", note);
    new Ajax.Request('/Test.asmx/CreateClients', {
        method: 'post',
        onSuccess: attachCallback(this, "Yay"),
        onFailure: attachCallback(this, "Nay"),
        onException: attachCallback(this, "Nay"),
        parameters: params
    });
}
于 2012-06-01T18:15:26.170 回答
0

你可以试试,在服务器端写出来

<script type="text/javascript">
 var param1 = '<%= dotNetValue %>';
 var param2 = '<%= otherDotNetValue %>';
</script>

然后在客户端上,您将可以访问这些(全局)变量

params.Set("first", param1);
params.Set("second", param2);
于 2012-06-01T18:15:45.907 回答