Как подать входной сигнал отключен в ASP.NET в MVC?
Как отправить отключенный вход ASP.NET MVC?
8 ответов:
вы не можете сделать поле
readonly="readonly"
вместоdisabled="disabled"
? Значение поля только для чтения будет отправлено на сервер, но при этом не будет редактироваться пользователем. А тег является исключением.
спасибо всем:
Как я решил это:
document.getElementById("Costo").readOnly = true; document.getElementById("Costo").style.color = "#c0c0c0";
Примечание:
Я получил эту информацию на ответ, но у меня былд.
@ppumkin упомянул об этом в своем комментарии ответ но я хотел бы выделить его, поскольку я не смог найти другие ресурсы по отправке данных из отключенного
<select>
. Я также считаю, что это имеет отношение к вопросу, как выбирает не<input>
s но они являются "входными" s.просто включите скрытое поле для отключенного выбора и его сортировки.
пример:
@Html.DropDownListFor(model => model.SelectedID, ... , new { disabled = "disabled"}) @* Won't be posted back *@ @Html.HiddenFor(model => model.SelectedID) @* Will be posted back *@
внимание: это позволит поставить два тега на странице с одинаковым идентификатором, который на самом деле не является допустимым HTML и может вызвать головные боли с javascript. Для меня у меня есть javascript, чтобы установить значение выпадающего списка по его html
id
, и если вы сначала поместите скрытое поле, javascript найдет это вместоselect
.
Как правило, если у меня есть поле, которое "только для чтения", но должно быть отправлено обратно на сервер, я сделаю отображение отключенным (или просто текст), но затем добавлю скрытое поле с тем же именем. Вам все равно нужно убедиться, что поле фактически не изменено на стороне сервера-просто не обновляйте его из модели в своем действии-но состояние модели все равно будет точным, если есть ошибки.
вы также можете использовать такой код перед отправкой формы:
$(":disabled", $('#frmMain')).removeAttr("disabled");
Вы можете создать шаблон редактора, как показано ниже
CSS
.disabled { background-color:lightgray; }
Редактор Шаблонов
@model string @Html.TextBoxFor(x => x,new {@class="disabled", @readonly=true })
когда мы имеем дело с отключенными, но отмеченными флажками, и мы хотим опубликовать значение, нам нужно убедиться, что наше скрытое поле появляется перед @Html.Флажок для скрытого поля.
ниже приведена ссылка, по которой я нашел ответ. http://davecallan.com/posting-disabled-checkboxes-mvc-razor-views/#comment-11033