我对MVC很新。在我的表单中,我有一个禁用的下拉控件,其值在提交期间未被传递给模型,因为它被禁用。我尝试使用下面的隐藏字段
@Html.DropDownListFor(model => model.DepartmentID, new List<SelectListItem> { new SelectListItem { Text = "Item 1", Value = "1" }, new SelectListItem { Text = "Item 2", Value = "2", Selected = true } })
@Html.HiddenFor(model => model.DepartmentID)
上述两个语句都生成具有相同ID的控件,因此我不确定是否可以获得隐藏字段中下拉列表的值。
我可以在创建隐藏变量时使用不同的id,并使用jquery为其分配下拉值。
我只想知道我是否可以使用上面代码中显示的具有相同ID的隐藏字段来实现相同的效果?
答案 0 :(得分:3)
表单字段不是由ID提交的,它们是按名称提交的。可以有两个具有相同名称的控件。但是,使用两个具有相同id的元素是无效的HTML。
您可以设置不同的ID,但保持相同的名称:
@Html.HiddenFor(x => x.DepartmentID, new { id="DepartmentID2" })