Javascript 向MVC控制器发送禁用jQuery的输入值

Javascript 向MVC控制器发送禁用jQuery的输入值,javascript,c#,jquery,asp.net-mvc,Javascript,C#,Jquery,Asp.net Mvc,我有一个MVC ASP.NET表单,它需要来自用户的数据,特别是用户有九个[必需]文本框填写到期信息,并且大多数情况下,其中八个文本框的信息是相同的,因此我让用户填写表单的所有字段一次,然后按下一个重复按钮,允许用户仅指定一个文本框的数据,其他八个文本框将填充之前指定的数据…但是不允许用户更改此重复信息,因此我使用jQuery $("#idDireccion").attr("disabled", "disabled"); $("#idEvento").attr("disa

我有一个MVC ASP.NET表单,它需要来自用户的数据,特别是用户有九个[必需]文本框填写到期信息,并且大多数情况下,其中八个文本框的信息是相同的,因此我让用户填写表单的所有字段一次,然后按下一个重复按钮,允许用户仅指定一个文本框的数据,其他八个文本框将填充之前指定的数据…但是不允许用户更改此重复信息,因此我使用jQuery

$("#idDireccion").attr("disabled", "disabled");
            $("#idEvento").attr("disabled", "disabled");
            $("#ddDepartamentos").attr("disabled", "disabled");
            $("#ddMunicipios").attr("disabled", "disabled");
            $("#idLugar").attr("disabled", "disabled");
            $("#datepicker").attr("disabled", "disabled");
            $("#idHoras").attr("disabled", "disabled");
            $("#idPrecio").attr("disabled", "disabled");  
并通过ViewBag指定重复的值

@Html.EditorFor(model => model.lugarEvento, new { htmlAttributes = new { @class = "form-control left-border-none", @title = "especifique lugar en que impartirá el evento", @id = "idLugar", @Value = ViewBag.lugarEvento } })
我这样做是为了八个文本框,它显示信息,不允许用户更改信息,但当用户将表单提交给处理数据库操作的控制器时,不会从复制的信息(这是ViewModel的一部分)接收任何内容,所有值都为空


我的问题是,为了不让用户修改重复的信息,并且仍然在我的控制器中接收到重复的信息,我必须做些什么。

不要使用禁用属性,而是使用只读属性。这将向控制器发送值

        $("#idDireccion").attr('readonly', true);
        $("#idEvento").attr('readonly', true);
        $("#ddDepartamentos").attr('readonly', true);
        $("#ddMunicipios").attr('readonly', true);
        $("#idLugar").attr('readonly', true);
        $("#datepicker").attr('readonly', true);
        $("#idHoras").attr('readonly', true);
        $("#idPrecio").attr('readonly', true);  

没错,谢谢……还有一个问题,如何将readonly指定为@Html.DropDownListFor?@PabloTobar这有点棘手,因为下拉菜单没有只读属性。一种方法是使用隐藏字段存储其值,并在禁用下拉菜单时将其传递给控制器。我确实使用了这些字段,第一个字段用于下拉菜单,第二个字段用于jQuery datepicker,hope helps someone$('#dddepartmentos option:not(:selected')。prop('disabled',true)$(“#datepicker”).datepicker({minDate:-1,maxDate:-2}).attr('readonly','readonly')@PabloTobar另一个选项是在提交操作发生之前启用该字段。