هل يمكن أن يكون لديك محررين للأطفال في ASP.NET MVC 2؟

StackOverflow https://stackoverflow.com/questions/3756496

سؤال

لدي قالب محرر لكائن مخصص. أساسي جدًا - فقط لديه مجموعة من الأوتار والتواريخ:

<%:Html.LabelFor(model => model.AString)%>
<%:Html.TextBoxFor(model => model.AString)%>

<%:Html.LabelFor(model => model.ADate)%>
<%:Html.EditorFor(model => model.ADate)%>

<%:Html.LabelFor(model => model.AnotherDate)%>
<%:String.Format("{0:d}", Model.AnotherDate)%>

يتم تخزين هذا في المجلد المشترك/editortemplates. لدي أيضًا قالب محرر DateTime.ascx في نفس الموقع ، لتجاوز جميع حقول DateTime.

كما ترون في الكود أعلاه ، يستخدم أحد حقول التاريخ EditorFor لحقل التاريخ ، والآخر لا. ومع ذلك ، فإن كلاهما يقدم نفس الشيء ، مما يقودني إلى الاعتقاد بأن محرر DateTime لم يتم الوصول إليه. هل هناك أي شيء أفعله خطأ؟ يبدو أن هذا يجب أن يكون من الممكن القيام به.

لقد استخدمت محرر DateTime مباشرة في عرض ، وهو يعمل بشكل جيد.

شكرا على أي مساعدة أو رؤية.

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

المحلول 2

اكتشفت المشكلة:

لديّ فصول بيانات بيانات جزئية تم إعدادها للتعليقات التوضيحية للبيانات في النموذج (أنا أستخدم إطار الكيان). عرض تاريخ الجزئي الخاص بي هو ل؟ dateTime (dateTime.ascx)

كان لدي سمة نوع البيانات لجميع التواريخ التي تم تعيينها على [DataType(DataType.Date)] بدلاً من [DataType(DataType.DateTime)].

تغيير تلك السمة إصلاح كل شيء.

نصائح أخرى

لقد جربت السيناريو الخاص بك بموجب MVC 2 و MVC 3 وتحت MVC 3 ، كما تتوقع.

فقط حتى أفهم بشكل صحيح لديك EditorTemplates في مشاركتك التي تحتوي على ComplexModel.ascx محرر وداخل ComplexModel.ascx أنت أتصل Html.EditorFor(m => m.ADate).

لست متأكدًا من تحديثات MVC 2 فيما يتعلق بهذا ، لكن MVC 3 يعمل بالتأكيد.

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