【问题标题】:How to submit a disabled drop down list in ASP.NET MVC?如何在 ASP.NET MVC 中提交禁用的下拉列表?
【发布时间】:2012-05-16 16:48:48
【问题描述】:

我正在使用以下语法显示一个下拉菜单:

@Html.DropDownListFor(model => model.Country, new SelectList(Model.CountryOptions, "Key", "Value"))

我有一个基于复选框禁用 dd 的 Jquery 语句:

$(document).ready(function () {
    $("#lockRecord").click(function () {
        if ($(this).attr('checked')) {
            $("#Country").attr('disabled', true);
        } else {
            $("#Country").attr("disabled", false);
        }
    })
});

但是,当它被提交时,该值返回为 null。已尝试只读,但它不适用于下拉列表。

有什么建议吗?

【问题讨论】:

  • 所有答案都通过javascript设置隐藏字段,参考:stackoverflow.com/questions/2793736/…
  • 问问自己,如果下拉菜单被禁用并且您阻止用户选择一个值,Null 是否是该属性的有效值,例如如果不选择会导致业务规则行为不同?如果是这样,那么也许你需要允许 Null

标签: c# asp.net .net asp.net-mvc-3


【解决方案1】:

当下拉菜单被禁用时,获取值并将其提交到隐藏字段中。当然,您的服务器代码需要修改以获取该值,但这是一个很小的代价。

【讨论】:

  • 我有一个隐藏的输入框,我用它设置了正确的值: 我如何确保我抓住它提交时。我在控制器上试过这个,但它不起作用:public ActionResult Edit(CustomerModel customer, string CountryHidden)
  • 为什么你的name属性有双引号?
  • 如果你在 change 事件上添加 jQuery 以更新隐藏输入中的值,那么你的控制器操作总是可以使用隐藏输入中的值。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2010-11-07
  • 2014-06-29
  • 1970-01-01
  • 2014-04-02
  • 2011-02-11
  • 2013-06-08
  • 1970-01-01
相关资源
最近更新 更多