Question

J'ai créé cette méthode d'assistance à l'aide d'une LambdaExpression pour utiliser fortement Type Helper dans une vue

Assistant


        public static string DateFor<TModel, TDate>(this HtmlHelper<TModel> helper, Expression<Func<TModel, TDate>> expression)
        {
            ModelMetadata data = ModelMetadata.FromLambdaExpression(expression, helper.ViewData);
            StringBuilder sb = new StringBuilder();
            ...
            //code that creates three dropdownlist (day, month and year)
            ...
        }

voir


        <%= Html.LabelFor(model => model.DataNascita) %>

Manette


        [HttpPost]
        public ActionResult Edit(int id, Account MyAccount)
        {
            ...
            return View(...);
        }

Mon problème est que le myAccount.datanascita n'est pas défini avec la valeur que je choisis dans le formulaire d'édition (valeur de la date minimun .. Ex. 1900/01/01).

Comment le lier dans une action de modification?

Était-ce utile?

La solution

Je pense que ce que vous recherchez, c'est un modèle personnalisé qui analysera les données publiées entrantes et la convertira en une datetime pour votre modèle.

Autres conseils

À votre avis, vous dites que vous publiez un Étiquette pour quelque chose, mais votre question ne peut pas comprendre pourquoi la valeur n'est pas maintenue affectation.

Je pense que vous devez, au moins, dire Html.EditorFor(...), mais vous voulez probablement utiliser la méthode d'assistance que vous avez écrite:

<%: Html.DateFor(model => model.DataNascita) %>

Cependant, il est impossible de dire exactement ce qui se passe ici sans connaître le type de données du DataNascita propriété sur le modèle.

Je vous suggère d'utiliser JQuery datepicker.

Vous pouvez le personnaliser avec JQUERY Themeroller.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top