Frage

Ich habe diese Hilfsmethode mit einem lambdaexpression erstellt, um einen stark typisierten Helfer in einer Ansicht zu verwenden

Helfer


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

Blick


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

Controller


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

mein Problem ist das MyAccount .DataNascita wird nicht mit dem Wert festgelegt, den ich im Bearbeitungsformular ausgewählt habe (minimaler Datumswert..Ex.1900/01/01).

wie binde ich es in einer Bearbeitungs-Post-Aktion?

War es hilfreich?

Lösung

Ich denke, was Sie danach sind, ist ein benutzerdefinierter Modellbinder, der die eingehenden Daten analysiert und in eine DateTime für Ihr Modell umgewandelt wird.

Andere Tipps

Aus Ihrer Sicht sagen Sie, dass Sie eine ausgeben Etikett für etwas, aber Ihre Frage betrifft, warum der Wert nicht beibehalten wird Buchung.

Ich denke, du musst zumindest sagen Html.EditorFor(...), aber Sie möchten wahrscheinlich die Hilfsmethode verwenden, die Sie geschrieben haben:

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

Es ist jedoch unmöglich, genau zu sagen, was hier vor sich geht, ohne den Datentyp des zu kennen DataNascita eigentum am Modell.

Ich schlage vor, Sie verwenden jquery datespicker .

Sie können es mit jquery themeroller anpassen.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top