如何使用c#在webmethod中传递int可选参数

本文关键字:int 参数 何使用 webmethod | 更新日期: 2023-09-27 18:04:38

我在webmethod中传递int可选参数,但我正在获得

Cannot convert to System.Int32.'

我的代码是:
[WebMethod]
public string Test([Optional] int ID)
{
  return "Test";
}

你能让我知道问题在哪里,我错过了什么吗?

如何使用c#在webmethod中传递int可选参数

EDIT:

在webservices中不能直接声明可选参数

你能做的就是用MessageName属性重载你的方法:

[WebMethod(Messagename="Test1")]
public string Test()
{
    return "Test";
}
[WebMethod(MessageName="Test2")]
public string Test(int ID)
{
    return "Test " + ID;
}

这只是一个变通方法。

也可能(仅对基本类型):

[WebMethod]
public string Test()
{
    // You can grab the ID as optional parameter from the request
    int optionalID = 0;
    Int32.TryParse(this.Context.Request["optionalID"], out optionalID);
    return "Test " + optionalID;
}