Je rencontre un comportement de liaison irritant pour un DateTime lié à une zone de texte qui est désactivée. Il retourne toujours nul.ASP.NET MVC 2: désactivée TextBox pour DateTime renvoie null
Mon modèle a un DateTime? La propriété StartDate ... J'ai aussi essayé juste DateTime StartDate (sans le '?').
J'ai essayé les éléments suivants:
Tentative n ° 1:
<%: Html.TextBoxFor(model => model.StartDate, new { @disabled="true" })%>
Tentative # 2:
<%: Html.EditorFor(model => model.StartDate, "DateDisabled")%>
où DateDisabled est une vue partielle définie comme ceci:
<%@ Control Language="C#" Inherits="System.Web.Mvc.ViewUserControl<DateTime?>" %>
<%: Html.TextBox("", Model.HasValue ? Model.Value.ToShortDateString() : "", new { @class = "text-box-short-disabled", @disabled = "true" })%>
Tous mes tentatives renvoie une valeur nulle. Y a-t-il quelque chose qui me manque? Ou une solution de contournement?
Dans mon cas, j'utilise un DropDownListFor qui génère un élément de sélection et il n'y a pas d'attribut lecture seule pour ce type d'élément. Je suppose que je dois gérer des valeurs nulles dans cette situation. Merci d'avoir indiqué le comportement de l'attribut désactivé, je l'ai imaginé et confirmé ici. – kzfabi