Je souhaite mettre à jour un enregistrement dans ma base de données qui a deux valeurs, l'une est l'ID et l'autre est la "description". L'ID ne peut jamais être changé, mais je compte sur l'utilisation de fonctionnalités fortement typées pour le faire. Donc, je ai ce qui suit:Éléments de formulaire désactivés Mise à jour ASP.NET MVC
Inherits="System.Web.Mvc.ViewPage<Business>"
Ce qui est bien, car cela me permet de tout récupérer. Le problème est quand j'utilise la ligne suivante:
<%= Html.TextBox("BusinessID", ViewData.Model.BusinessID, new { disabled = "disabled", style = "width:50px;", @class = "uppercase", maxlength = "4" })%>
Avec l'option disabled = "disabled"
il ne reconnaît pas le BusinessID® et ne passe pas donc au contrôleur qui, à son tour, a des problèmes de liaison vers le haut de l'objet.
Non que vous en aurez besoin, mais voici l'action du contrôleur:
[HttpPost]
public ActionResult EditBusiness(Business business)
{
if (!ModelState.IsValid)
return View(business);
// update business here
_contractsControlRepository.UpdateBusiness(business);
return RedirectToAction("Businesses");
}
Toutes les idées pourquoi cela se passe? Je n'ai pas réalisé que les éléments de formulaire étaient complètement masqués lors de la publication lorsqu'ils étaient désactivés. Je ne veux pas que les utilisateurs modifient ce champ particulier. J'ai aussi essayé Html.DisplayFor(b=>b.BusinessID)
sans aucune chance.
Bingo, merci beaucoup. – Kezzer
Aussi, d'après ce que vous m'avez donné, je peux juste créer un assistant pour le faire pour moi. – Kezzer