Asp.net mvc 如何将禁用的下拉列表值从视图传递到控制器

Asp.net mvc 如何将禁用的下拉列表值从视图传递到控制器,asp.net-mvc,Asp.net Mvc,查看代码: @Html.DropDownListFor(m => m.mode, new List<SelectListItem> { { new SelectListItem{ Text="Select", Value = "10000" },

查看代码:

@Html.DropDownListFor(m => m.mode, new List<SelectListItem>
                                   {
                                   {
                                      new SelectListItem{ Text="Select", Value = "10000" },
                                      new SelectListItem{ Text="Add", Value = "10001" },
                                      new SelectListItem{ Text="Modify", Value="10002" }
}, htmlAttributes: new { @class = "form-control", @id = "cboFunctions", @onChange = "FunctionChange();" })
我还尝试在隐藏字段中存储值,但不传递值


任何帮助都将不胜感激。

虽然不清楚为什么要禁用下拉列表,但已经提到禁用的输入不会发送数据

您需要为该属性添加隐藏输入,以便在发布表单时将其转发到服务器

 @Html.HiddenFor(m => m.mode)

因此,当您使用java脚本时,您可以使用锁定值设置隐藏输入,以便将其发布。

我怀疑您可以通过使用No read only解决问题。禁用后,我想要的解决方案不会是选择任何其他值,您无法选择。禁用的控件不提交值,并且不存在只读。为什么要生成一个禁用的select?这毫无意义?嗨,nkosi实际上我的应用程序需要它的第一个select选项,如添加、修改……删除,然后填充控制值并提交,但在填充过程中避免更改下拉列表框,这才是真正需要的。我尝试了隐藏字段,但它没有传递值。
 @Html.HiddenFor(m => m.mode)