Есть ли у нас привязка модели в методах веб-сервиса? - PullRequest
1 голос
/ 13 августа 2011

Я хочу использовать jQuery ajax в ASP.NET WebForms и хочу напрямую вызвать метод веб-службы:

$.ajaxWrapper('/services.asmx/createprofile', {
firstName = firstName, 
lastName = lastName,  
city = city, 
state = state, 
address = address, 
postalCode = postalCode, 
tell = tell, 
cellPhone = cellPhone, 
isCompany = isCompany }, function(r){
   // success callback; return value is in r parameter.
});

Примечание: разрывы строк приведены только в демонстрационных целях.

Однако, поскольку количество полей даже больше, чем это, и все они обязательны, я не хочу создавать метод веб-службы, чтобы получить все в качестве параметра:

[WebMethod]
public bool CreateProfile (string firstName, 
string lastName, 
string city, 
string state, 
string address, 
string postalCode, 
string tell, 
string cellPhone, 
bool isCompany)
{

}

Есть ли способ связывания модели ASP.NET MVC, позволяющий фреймворку добиться цели? Другими словами, могу ли я написать свой код веб-службы следующим образом:

[WebMethod]
public bool CreateProfile (UserProfile profile)
{

}

1 Ответ

1 голос
/ 13 августа 2011

Я не уверен, но я полагаю, что вы можете просто определить класс UserProfile (сделать его общедоступным) в классе метода службы (убедитесь, что вы используете getter и setters и задаете ему пустой конструктор по умолчанию так же, как вы это делаете в MVC) и он разберется.

[WebMethod] 
public bool CreateProfile (UserProfile profile) 
{
    ....  
} 

public class UserProfile 
{
    ....
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...