C# 在MVC中获取禁用的下拉列表值

C# 在MVC中获取禁用的下拉列表值,c#,asp.net-mvc,asp.net-mvc-3,C#,Asp.net Mvc,Asp.net Mvc 3,我是MVC的新手。在我的表单中,我有一个禁用的下拉控件,它的值在提交期间不会传递给模型,因为它是禁用的。我试着使用下面这样的隐藏字段 @Html.DropDownListFor(model => model.DepartmentID, new List<SelectListItem> { new SelectListItem { Text = "Item 1", Value = "1" }, new SelectListItem { Text = "Item 2", Value

我是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)
@Html.DropDownListFor(model=>model.DepartmentID,新列表{new SelectListItem{Text=“Item 1”,Value=“1”},新SelectListItem{Text=“Item 2”,Value=“2”,Selected=true})
@Html.HiddenFor(model=>model.DepartmentID)
上面两条语句都生成具有相同id的控件,因此我不确定是否可以在隐藏字段中获取下拉列表的值

我可以在创建隐藏变量时使用不同的id,并使用jquery为其分配下拉值


我只是想知道,如果使用具有与上述代码所示相同id的隐藏字段,是否可以实现相同的效果???

表单字段不是按id提交的,而是按名称提交的。可以有两个同名的控件。但是,具有相同id的两个元素是无效的HTML

您可以设置不同的ID,但保持相同的名称,如下所示:

@Html.HiddenFor(x => x.DepartmentID, new { id="DepartmentID2" })

你能为处理此视图的控制器操作添加代码吗?@SOfanatic-它与控件无关,浏览器不会从禁用的控件提交值。@MystereMan是的,我知道,我只是认为Mako的意思是,即使
HiddenFor
也没有显示在帖子中。@SOfanatic-他不是说它不工作,他在问是否会。谢谢,问题解决了:)这个解决方案也适用于剃须刀页面,所以干杯:)