我有以下類別:的Web API + 4 MVC模型方面的複雜類型結合
public class State
{
public long Id { get; set; }
public string Name { get; set; }
public string Abbreviation { get; set; }
// Navigation Properties
public virtual Country Country { get; set; }
}
public class School
{
public long Id { get; set; }
public string Name { get; set; }
public string Abbreviation { get; set; }
// Navigation Properties
public virtual State State { get; set; }
}
,後面的數據在我的SQL Server
| School| | |
| Id | Name | State |
| 1 | UCLA | 1 |
+-------+-------------+---------------+
| State | | |
| Id | Name | Abbreviation |
| 1 | California | CA |
我試圖創建一個休息控制器,該控制器使用Web API使用HTTP POST動詞創建學校實例。
public HttpResponseMessage<School> Post(School school)
{
SchoolService.CreateSchool(school);
var response = new HttpResponseMessage<School>(school, HttpStatusCode.Created);
string uri = Url.Route(null, new { id = school.Id });
response.Headers.Location = new Uri(Request.RequestUri, uri);
return response;
}
的Web API正確地從我的網頁形式結合我校類的名稱和縮寫屬性和調用控制器中的POST方法,但它不知道如何處理國家類做。我不太清楚如何設置。我希望有一個綁定到國家班級的下拉菜單,當我提交學校的創建時,我現有數據中的正確狀態將被分配到新的學校實例。
如何提交'Store'類的值?你能發佈HTTP請求細節(標題,表單域和值等)嗎? – tugberk 2012-04-04 08:28:05
我遇到同樣的問題;我是在一個POST中反序列化一個複雜類型的XML,它會嘗試使用ModelBinders而不是默認的XmlMediaTypeFormatter。有人提到JSON可以正常工作 - 您是使用XML還是JSON序列化? – Steve 2012-04-25 15:34:07