获得了一个对象列表,likaso(伪代码):
class PersonViewModel{name, age, etc}
class MyObjectViewModel
{
//actually comes from WebService, but that doesnt matter here
List<PersonViewModel> AllPeople= {person1,person2, etc}
PersonViewModel SelectedPerson;
}
所以我想允许用户从下拉列表中选择一个人:
@model MyModels.MyObjectViewModel
@Html.DropDownListFor(MyObjectViewModel=> MyObjectViewModel.SelectedPerson , new SelectList(Model.AllPeople))
正确填充了视图和下拉列表。
当我点击提交时,Controller总是获取myObjectViewModel.SelectedPerson == Null。 为什么它不返回任何东西?如何返回所选对象?
答案 0 :(得分:2)
$sExample = 'Example !';
$sAnotherOneHere = 'Again ?';
$sAndTheLast = 'ENOUGH !';
无法创建Html.DropDownListFor
作为选定人员。虽然它可以返回PersonViewModel
所选人员,但您必须从服务/会话/数据库等中获取所有其他字段。假设Id
具有PersonViewModel
和{{1这是你应该做的:
Id
在您发布的动作中,您将获得MyObjectViewModel.SelectedPersonId,其中包含所选人员的ID。您可以使用它来获取Name