【发布时间】:2016-03-10 13:29:01
【问题描述】:
public class State
{
public Guid Id { get; set; }
public string Name { get; set; }
}
public class Address
{
public State State { get; set; }
}
public class JobSeeker
{
public Address CurrentAddress { get; set; }
}
public class RegisterVM
{
public JobSeeker JobSeeker { get; set; }
public List<State> AllStates { get; set; }
}
在剃刀中
@Html.DropDownListFor(m => m.JobSeeker.CurrentAddress.State,
new SelectList(Model.AllStates, "Id", "Name" ), " -----Select List----- ")
结果是下拉列表填充了 AllStates 中存在的值,但问题是 m.JobSeeker.CurrentAddress.State 在发布到控制器操作时为空。如何将下拉列表的选定值设置为属性 m.JobSeeker.CurrentAddress.State
【问题讨论】:
-
控制器长什么样子?
-
State是一个复杂对象,<select>回发单个值,而不是复杂对象。它需要是@Html.DropDownListFor(m => m.JobSeeker.CurrentAddress.State.ID, ....)但不要那样做!将public Guid SelectedStata { get; set; }属性添加到RegisterVM并绑定到该属性。
标签: asp.net-mvc razor asp.net-mvc-5