@Html.DropDownListFor(model => model.Activity.ActivityType, new
SelectList(Model.ActivityTypes, "ActivityTypeId", "Name") )
我在视图中有上面的下拉列表。在我的表单上提交时,所选的ActivityType无法绑定到我的模型中的Model.Activity.ActivityType属性。
如果无法将字符串转换为ActivityType,则会出现错误。
我认为这是因为它只是试图绑定ActivityType的Name属性而不是整个对象。
我需要做些什么来确保在提交表单时所选的ActivityType正确绑定到模型?
谢谢
答案 0 :(得分:6)
lambda中使用的属性作为DropDownListFor
帮助器的第一个参数必须是标量值(字符串,整数,...)。您不应该使用复杂类型,因为HTML表单中的<select>
元素仅提交单个值。所以你可能需要绑定到相应的id属性:
@Html.DropDownListFor(
model => model.Activity.ActivityType.ActivityTypeId,
new SelectList(Model.ActivityTypes, "ActivityTypeId", "Name")
)