Я хочу обновить запись в моей базе данных, которая имеет два значения: один - это идентификатор, а один - это «описание». Идентификатор никогда не может быть изменен, однако я полагаюсь на использование сильно типизированных функций для этого. Итак, у меня есть следующее:Отключенные элементы формы ASP.NET MVC Update
Inherits="System.Web.Mvc.ViewPage<Business>"
Это нормально, поскольку он позволяет мне все вернуть. Проблема заключается в том, когда я использую следующую строку:
<%= Html.TextBox("BusinessID", ViewData.Model.BusinessID, new { disabled = "disabled", style = "width:50px;", @class = "uppercase", maxlength = "4" })%>
с disabled = "disabled"
вариант не признает BusinessID и поэтому не пропускает его обратно в контроллер, который, в свою очередь, имеет проблемы, связывающие объект вверх.
Не то, что вам нужно, но вот действие контроллера:
[HttpPost]
public ActionResult EditBusiness(Business business)
{
if (!ModelState.IsValid)
return View(business);
// update business here
_contractsControlRepository.UpdateBusiness(business);
return RedirectToAction("Businesses");
}
Любые идеи, почему это происходит? Я не понимал, что элементы формы полностью скрыты при обратной передаче, когда они отключены. Я не хочу, чтобы пользователи редактировали это конкретное поле. Я также пробовал Html.DisplayFor(b=>b.BusinessID)
без везения.
Бинго, спасибо большое. – Kezzer
Кроме того, из того, что вы мне дали, я могу просто создать помощника, чтобы сделать это для меня. – Kezzer