【问题标题】:Optional Parameters in Web MethodWeb 方法中的可选参数
【发布时间】:2015-07-30 17:52:34
【问题描述】:

我定义了以下网络方法:

public string GetMatchingCompanies(string term, int companyPickerMode, int? officeId, int? proposalId)
{
    // ...
}

如您所见,最后两个参数可以为空。这个想法是这些参数是可选的。如果未指定,它们将为空。

但是,当我的 AJAX 代码在不提供这些参数之一的情况下调用此方法时,我会收到以下错误。

Web 服务调用无效,参数缺失值:“officeId”。

这是出乎意料的。没有办法让这些参数可选吗?

【问题讨论】:

  • 也许这只是一个错字,但网络方法不需要static吗?

标签: javascript c# jquery ajax webmethod


【解决方案1】:

使 then 字段可以为 null 并不意味着它们不需要被提供,只是它们将被初始化或可以设置为 null。如果您不想指定它们,请设置一个默认值,如下所示:

public string GetMatchingCompanies(string term, int companyPickerMode, int? officeId = null, int? proposalId = null)
{
    // ...
}

【讨论】:

  • 是的,我想是的。我确信我以前使用过这种技术。也许它在 MVC 应用程序中工作,但这是在 Web 窗体中。
  • 注意,这只适用于 .NET 4.0+,因为那是引入可选参数的时候。
猜你喜欢
  • 1970-01-01
  • 2013-03-25
  • 1970-01-01
  • 2019-03-08
  • 2011-11-25
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-05-17
相关资源
最近更新 更多