使用jquery ajax调用c# web方法,省略可选参数

本文关键字:参数 方法 ajax jquery 调用 web 使用 | 更新日期: 2023-09-27 18:05:15

我有一个这样的webmethod:

[WebMethod(EnableSession = true)]
public string testMethod(string param1, string param2="default value")
{
    .......
}

我试图调用这个方法使用jquery省略可选参数,和webmethod不被击中。

$.ajax({
    type: "POST",
    url: url,
    data: { "param1": "value1" }
}).complete(function (data) {....});  

I只有在传递第二个参数时才有效。有什么办法可以解决这个问题吗?

使用jquery ajax调用c# web方法,省略可选参数

我不认为你可以在webservice方法中使用可选参数,你可能需要重载这个方法…

[WebMethod(EnableSession = true, MessageName = "testMethod"))]
public string testMethod(string param1, string param2)
{
      .......
}
[WebMethod(EnableSession = true, MessageName = "testMethod")]
public string testMethod(string param1)
{
      testMethod(param1, "default value");
}

编辑:文章链接。

这里还有一篇关于其他方法的文章值得一读,虽然它的结论是不使用重载,但我想这是你的决定。