Jquery 禁用受控时MVC3更改不保存
我正在尝试根据用户的权限动态禁用MVC3控件。它工作正常,并在进行更改时自动设置为默认值。但在单击“提交”按钮后保存时,不会保存任何更改。这仅在禁用控件时发生 *更新*Jquery 禁用受控时MVC3更改不保存,jquery,.net,asp.net-mvc-3,permissions,form-helpers,Jquery,.net,Asp.net Mvc 3,Permissions,Form Helpers,我正在尝试根据用户的权限动态禁用MVC3控件。它工作正常,并在进行更改时自动设置为默认值。但在单击“提交”按钮后保存时,不会保存任何更改。这仅在禁用控件时发生 *更新* <div class="editor-field"> @if (!disabled) { @Html.TextBox("EffectiveDate", Model.EffectiveDat
<div class="editor-field">
@if (!disabled)
{
@Html.TextBox("EffectiveDate", Model.EffectiveDate.FormatShortDate(), new { @class = "date" })
}
else
{
@Html.TextBox("ReadOnlyEffectiveDate", Model.EffectiveDate.FormatShortDate(), new { @class = "date", @disabled = "disabled" })
@Html.HiddenFor(m => m.EffectiveDate)
}
@Html.ValidationMessageFor(model => model.EffectiveDate)
</div>
#ReadOnlyEffectiveDate的值不更新#EffectiveDate的值更新,但保存仍不起作用。禁用的字段不会回发。如果需要查看哪些控件被禁用,可以使用JQuery启用它们,然后将它们发回,然后在表单中再次禁用它们 由于您位于
else
块中,您可以将文本框重命名为以外的其他内容,而不是“EffectiveDate”
,然后,您在那里的隐藏字段将被发布,模型绑定器将知道使用该值,而不是禁用的文本框。禁用的字段值不获取postedIt看起来不像是禁用它们,只是使它们成为只读。这似乎也不起作用。将在上面发布更改
$("#DistributionId").change(function () {
var currentYear = (new Date).getFullYear();
$("#TermDate").val("12/31" + currentYear);
$("#EffectiveDate").val("01/01/" + (currentYear + 1));
$("#ReadOnlyEffectiveDate").val("01/01/" + (currentYear + 1));
$("#EffectiveDate").change();
});