Skip to main content
 首页 » 编程设计

c#之如何通过 jQuery+Ajax 将数组作为参数传递给服务器方法

2024年04月18日41itcoder

嗯,我正在使用 Asp.Net 开发一个 Web 应用程序,而在后面的代码中,我使用的是 C#。我已经成功地编写了将类对象传递给代码隐藏方法的代码,但我想知道如何通过 ajax 和 jQuery 将数组作为参数传递。

我尝试了一些方法,但没有用。这是我要运行的代码

function Test(){ 
var argu = [1, 2]; 
$.ajax({ 
        type: 'POST', 
        url: 'MyPage.aspx/Foo', 
        data: '{args: ' + argu + '}', 
        contentType: "application/json; charset=utf-8", 
        dataType: "json", 
        success: function (response) { 
           // Success 
        }, 
        error: function (response) { 
           // Failed 
        } 
      }); 
} 

这是我用 C# 编写的代码隐藏方法。

[WebMethod] 
[ScriptMethod] 
public static bool Foo(int[] args) 
{ 
   return true; 
} 

应用构建成功。我已经设置了断点,但我的代码隐藏方法没有触发。我想知道问题出在哪里?我还缺少什么?

请您参考如下方法:

好吧,所有代码似乎都足以进行调用,但我认为问题在于在您的代码中传递 data。

应该是这样的

data: '{args: ' + JSON.Stringify(argu) + '}' 

最后你的代码应该是这样的

function Test(){ 
var argu = [1, 2]; 
$.ajax({ 
        type: 'POST', 
        url: 'MyPage.aspx/Foo', 
        data: '{args: ' + JSON.Stringify(argu) + '}', 
        contentType: "application/json; charset=utf-8", 
        dataType: "json", 
        success: function (response) { 
           // Success 
        }, 
        error: function (response) { 
           // Failed 
        } 
      }); 
} 

希望对您有所帮助。