【发布时间】:2012-05-22 22:38:20
【问题描述】:
我正在查看 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);
}
当表单发布到服务器时,Fraud 对象的 FraudCategory 属性为空。
我需要什么额外的步骤来连接这个复杂的对象吗?
【问题讨论】:
标签: asp.net asp.net-mvc-2