【发布时间】:2010-07-16 16:31:37
【问题描述】:
我有一个 ProductListingViewModel 类型的强类型视图,它又包含一个 ProductViewModel。 (两种自定义视图模型)。
我的页面上有一些表单元素,它们是这样创建的:
<%: Html.DropDownListFor(m => m.ProductViewModel.CategoryId, Model.Categories)%>
生成 HTML:
<select name="ProductViewModel.CategoryId" id="CategoryId">
使用默认模型绑定,我希望当我发布到接受 ProductListingViewModel 类型参数的控制器操作时,它会知道使用相关数据填充 ProductViewModel.CategoryId。
选择列表的名称似乎表明它知道有一个具有 CategoryId 属性的 ProductViewModel 但是当我发布到我的控制器方法时,ProductViewModel 为空。如果我在 ProductListingViewModel 的构建过程中创建它,那么它不再为空,但默认绑定器似乎没有像我预期的那样填充属性。
这是自定义模型绑定器的情况,还是我只是缺少一些基本的东西?
干杯。
【问题讨论】:
标签: c# asp.net-mvc-2 model-binding model-view