ASP.NET MVC - كيفية إضافة فئة إلى html.editorfor عندما توجد فصول بالفعل بسبب التحقق من صحة JS غير مزعجة؟

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

  •  28-09-2019
  •  | 
  •  

سؤال

أحاول إضافة ملف Class إلى EditorFor مساعد داخل EditorTemplate.

المشكلة هي ذلك لأنني أستخدم التحقق من الصحة غير مزعجة, ، عنصر الإدخال لديه بالفعل فئات مخصصة لها.

ها هو تحرير بلدي

@Inherits System.Web.Mvc.ViewUserControl(Of Nullable(Of Date))
@Html.TextBox("", If(Model.HasValue, String.Format("{0:MM/dd/yyyy}"), String.Empty), New With {.class = "datepicker"})

وهنا هو الإخراج

<input class="text-box single-line" id="BirthDate" name="BirthDate" type="text" value="08/08/1980" />

يمكنك أن ترى هنا أن ال datepicker لم تتم إضافة الفصل ، ولكن "القيمة" قد تم تنسيقها بشكل صحيح.

في الأساس أستطيع أن أرى أن EditorTemplate يعمل ، لكن Class لا يتم إلحاقها ببقية الفصول على <input> عنصر.

هل يعرف أي منكم كيفية إصلاح هذا؟

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

المحلول

اتضح أنه كان علي إضافة ملف <UIHint("Date")> إلى فصل صديقي.

كل شيء على حق مرة أخرى.

@ModelType Date?
@Html.TextBox("", If(Model.HasValue, String.Format("{0:MM/dd/yyyy}", Model), String.Empty), New With {.class = "datepicker"})

هذا هو سبب uihint.

يعتمد اسم القالب الافتراضي على اسم نوع CLR ، في هذه الحالة DateTime. "Date" هو اسم اختصار في VB ، وليس اسم النوع الحقيقي (مثل "int" في C# هو في الحقيقة اختصار لـ CLR "int32").

نصائح أخرى

جرب هذا

@Inherits System.Web.Mvc.ViewUserControl(Of Nullable(Of Date))
@Html.TextBox("", If(Model.HasValue, String.Format("{0:MM/dd/yyyy}"), String.Empty), new {.class = "datepicker"})
مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top