2015-07-30 5 views
0

я определил следующий веб-метод:Дополнительные параметры в вебе-методе

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

Как вы можете видеть, последние два аргумента обнуляемые. Идея состоит в том, что эти аргументы являются необязательными. Они будут пустыми, если они не указаны.

Однако, когда мой код AJAX вызывает этот метод без предоставления одного из этих аргументов, я получаю следующую ошибку.

Недействительный вызов веб-службы, отсутствует значение параметра: «officeId».

Это неожиданно. Нет ли способа сделать эти параметры необязательными?

+0

Возможно, это просто опечатка, но не веб-методы должны быть «статическими»? –

ответ

3

Создание полей с нулевыми значениями не означает, что их не нужно предоставлять, только они будут инициализированы или могут быть установлены в нуль. Если вы не хотите их указывать, установите значение по умолчанию следующим образом:

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

Да, наверное. Я был уверен, что раньше использовал эту технику. Возможно, он работал в приложении MVC, но это с помощью Web Forms. –

+0

Я использую MVC, и он там тоже не работает :) – GPicazo

+0

Обратите внимание, что это работает только в .NET 4.0+, так как это было когда были добавлены дополнительные параметры. –

Смежные вопросы