我们在Web服务方法中有模型绑定吗?

时间:2011-08-13 08:22:05

标签: asp.net web-services jquery webforms

我想在jQuery中使用ASP.NET WebForms ajax,我想直接调用Web服务方法:

$.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.
});

注意:换行符仅用于演示目的。

但是,由于字段的数量甚至超过了这个数量,并且所有'都是必需的,我不想创建一个Web服务方法来将所有内容作为参数:

[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模型绑定的方式让框架做到这一点?换句话说,我可以这样编写我的Web服务代码:

[WebMethod]
public bool CreateProfile (UserProfile profile)
{

}

1 个答案:

答案 0 :(得分:1)

我不确定,但我相信你可以在服务方法的类中定义一个UserProfile类(使其公开),(确保使用getter和setter并给它一个默认的空构造函数,就像你在MVC)它会解决问题。

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

public class UserProfile 
{
    ....
}