سؤال

لقد قمت بإنشاء طريقة المساعد هذه باستخدام تعبير lambda لاستخدام مساعد الكتابة بقوة في طريقة العرض

المساعد


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

منظر


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

مراقب


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

مشكلتي هي أن MyAccount.DataNascita لم يتم تعيينه بالقيمة التي اخترتها في نموذج التحرير (قيمة التاريخ الدنيا..السابق.1900/01/01).

كيفية ربطه في إجراء تحرير النشر؟

هل كانت مفيدة؟

المحلول

أعتقد أن ما تفضله بعد هو مصمم مخصص يقوم بتحليل البيانات المنشورة الواردة وتحويله إلى حالة من تاريخ النموذج الخاص بك.

نصائح أخرى

من وجهة نظرك، أنت تقول أنك تقوم بإخراج ملف ملصق لشيء ما، ولكن سؤالك يتعلق بسبب عدم الاحتفاظ بالقيمة نشر.

أعتقد أنك بحاجة إلى أن تقول ذلك على الأقل Html.EditorFor(...), ، لكن ربما تريد استخدام الطريقة المساعدة التي كتبتها:

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

ومع ذلك، فمن المستحيل أن نقول بالضبط ما يحدث هنا دون معرفة نوع بيانات الملف DataNascita الملكية على النموذج.

أقترح عليك استخدام jQuery datepicker .

يمكنك تخصيصها مع jquery themeroller .

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top