Мне известно, что есть похожие вопросы. Я прочитал почти все из них (если кто-то не может доказать обратное).
Я пишу приложение службы поддержки в качестве учебного проекта, чтобы улучшить свои навыки программирования.
У меня естьСоздайте действие, которое создает «Билет» как часть того, что я хочу установить для «Состояния» этого «Билета» на «Новый». Причина, по которой я хочу, чтобы он был отключен, заключается в том, что только пользователи с ролью администратора должны иметь возможность обновлять состояние (Inprogress, onhold, resolved, closed и т. Д.).
Вот что я пробовал до сих пор:
<div class="form-group">
@Html.LabelFor(model => model.State, htmlAttributes: new { @class = "control-label col-md-2" })
<div class="col-md-10">
@if (User.IsInRole("Admin"))
{
@Html.DropDownListFor(m => m.State, Model.States, htmlAttributes: new { @class = "form-control" })
}
else
{
@Html.DropDownListFor(m => m.State, Model.States, new { @class = "form-control", @disabled = "disabled", @id = "FakeStates" })
@Html.HiddenFor(m => m.State, Model.States)
}
@Html.ValidationMessageFor(model => model.State, "", new { @class = "text-danger" })
</div>
</div>
Проблема: значение не попадает в контроллер, и в конечном итоге столбец db равен нулю.
Возможно, я упустил что-то простое, если кто-то может, пожалуйста, возьмитепосмотрите и укажите на это?
Спасибо.