2014-03-29 34 views
0

工作的所有值在網頁API我張貼XML控制器具有以下:綁定不是簡單類型

public class UserController : ApiController 
{ 
    [HttpPost] 
    public HttpResponseMessage Post(CreateUser createuser) 
    { 
     // set the break point here and its showing name and password are populated, but email and emailcc are not. 
     CreateUserResponse results = new CreateUserResponse(); 

     if (createuser == null) 
     { 
      results.Message = "it is null"; 
      return Request.CreateResponse(HttpStatusCode.Accepted, results); 
     } 
     else 
     { 
      results.Message= "it is not null"; 
      return Request.CreateResponse(HttpStatusCode.Accepted, results); 
     } 
    } 
} 

使用這些類:

public class CreateUser 
{ 
    public string UserName { get; set; } 
    public string UserPassword { get; set; } 
    public string UserEmail { get; set; } 
    public string UserEmailCC { get; set; } 
} 

public class CreateUserResponse 
{ 
    public string Message { get; set; } 
} 

當我查看傳遞的值到CreateUser類型,我能夠看到在Fiddler中傳遞的UserName和UserPassword,以及控制器中的斷點。 UserEmail和UserEmailCC在Fiddler中可見,但在控制器中顯示爲空。

是否有特定於Web API綁定的東西會導致這些不能正確綁定,並且是否有解決方法或者我錯過了什麼?

更新:(2014/04/01)如果我改變順序,他們在字母順序的類中的字段。我可以看到數值出現在電線上。不知道爲什麼這種行爲發生在XML消息中。

如改變其中的字段排序這樣的類:

public string UserEmail { get; set; } 
    public string UserEmailCC { get; set; } 
    public string UserName { get; set; } 
    public string UserPassword { get; set; } 
+0

顯示您的帖子的網址。 – abatishchev

回答