Я смотрю на ASP.NET MVC2 и пытаюсь опубликовать сложный объект, используя новый синтаксис EditorFor.
У меня есть объект FraudDto, у которого есть дочерний объект FraudCategory, и я хочу установить этот объект из значений, которые публикуются в форме.
Размещение простого объекта не является проблемой, но я борюсь с тем, как обрабатывать сложные объекты с дочерними объектами.
У меня есть следующий родительский объект FraudDto, к которому я привязываюсь в форме:
public class FraudDto
{
public FraudCategoryDto FraudCategory { get; set; }
public List<FraudCategoryDto> FraudCategories { get; private set; }
public IEnumerable<SelectListItem> FraudCategoryList
{
get
{
return FraudCategories.Select(t => new SelectListItem
{
Text = t.Name,
Value = t.Id.ToString()
});
}
Дочерний объект FraudCategoryDto выглядит следующим образом:
public class FraudCategoryDto
{
public int Id { get; set; }
public string Name { get; set; }
}
В форме у меня есть следующий код, где я хочу привязать FraudCategoryDto к выпадающему списку. Представление имеет тип ViewPage:
<td class="tac">
<strong>Category:</strong>
</td>
<td>
<%= Html.DropDownListFor(x => x.FraudCategory, Model.FraudTypeList)%>
</td>
У меня тогда следующий код контроллера:
[HttpPost]
public virtual ViewResult SaveOrUpdate(FraudDto fraudDto)
{
return View(fraudDto);
}
Когда форма публикуется на сервере, свойство FraudCategory объекта Fraud имеет значение null.
Есть ли какие-то дополнительные шаги, которые мне нужны, чтобы подключить этот сложный объект?