Pregunta

He creado este método auxiliar mediante un lambdaexpression que utiliza fuertemente el tipo de ayudante en una vista

Ayudante


        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)
            ...
        }

ver


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

Controlador de


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

mi problema es que la MyAccount.DataNascita no se establece con el valor que seleccione en el formulario de Edición (fecha valor mínimo..ex.1900/01/01).

cómo se unen en una Edición posterior de la acción?

¿Fue útil?

Solución

Creo que lo que está buscando es un ModelBinder personalizado que analizará los datos publicados entrantes y la convertirá en un DateTime para su modelo.

Otros consejos

En su opinión, usted dice que usted está saliendo de un Etiqueta por algo, pero su pregunta se refiere a ¿por qué el valor no se mantiene en la publicación de.

Creo que usted necesita, al menos, decir Html.EditorFor(...), pero lo más probable es que desee utilizar el método auxiliar escribió:

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

Sin embargo, es imposible decir exactamente lo que está pasando aquí sin saber el tipo de datos de la DataNascita propiedad en el modelo.

Le sugiero que use jquery datepicker .

Puede personalizarlo con jquery themeroller .

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top