2015-02-10 5 views
1

Это моя ModalDatepicker работает с браузером Google Chrome, но не с Firefox

[DataType(DataType.Date)] 
[DisplayFormat(ApplyFormatInEditMode = true, DataFormatString = "{0:yyyy-MM-dd}")] 
    public DateTime DO_Joining { get; set; } 

Tha Date Picker правильно работает с любой из применения DatePicker или JQuery к нему в Google Chorme, но не работает в Firefox. Может ли какой-нибудь орган объяснить, в чем дело?

Это мой взгляд

<div class="editor-label"> 
     @Html.LabelFor(model => model.DO_Joining) 
    </div> 
    <div> 
     @Html.EditorFor(model => model.DO_Joining) 


     @Html.ValidationMessageFor(model => model.DO_Joining) 
    </div> 

И используя эти пучки

{ 
public class BundleConfig 
{ 
    // For more information on Bundling, visit http://go.microsoft.com/fwlink/?LinkId=254725 
    public static void RegisterBundles(BundleCollection bundles) 
    { 
     bundles.Add(new ScriptBundle("~/bundles/jquery").Include(
        "~/Scripts/jquery-{version}.js")); 

     bundles.Add(new ScriptBundle("~/bundles/jqueryui").Include(
        "~/Scripts/jquery-ui-{version}.js", 
        "~/Scripts/datepick/ts_picker.js")); 

     bundles.Add(new ScriptBundle("~/bundles/jqueryval").Include(
        "~/Scripts/jquery.unobtrusive*", 
        "~/Scripts/jquery.validate*")); 

     // Use the development version of Modernizr to develop with and learn from. Then, when you're 
     // ready for production, use the build tool at http://modernizr.com to pick only the tests you need. 
     bundles.Add(new ScriptBundle("~/bundles/modernizr").Include(
        "~/Scripts/modernizr-*")); 

     bundles.Add(new StyleBundle("~/Content/css").Include("~/Content/site.css")); 

     bundles.Add(new StyleBundle("~/Content/themes/base/css").Include(
        "~/Content/themes/base/jquery.ui.core.css", 
        "~/Content/themes/base/jquery.ui.resizable.css", 
        "~/Content/themes/base/jquery.ui.selectable.css", 
        "~/Content/themes/base/jquery.ui.accordion.css", 
        "~/Content/themes/base/jquery.ui.autocomplete.css", 
        "~/Content/themes/base/jquery.ui.button.css", 
        "~/Content/themes/base/jquery.ui.dialog.css", 
        "~/Content/themes/base/jquery.ui.slider.css", 
        "~/Content/themes/base/jquery.ui.tabs.css", 
        "~/Content/themes/base/jquery.ui.datepicker.css", 
        "~/Content/themes/base/jquery.ui.progressbar.css", 
        "~/Content/themes/base/jquery.ui.theme.css")); 
    } 
} 

} Но я действительно не знаю ... что делать с этим

+0

Это просто декларация C# свойство, оно не имеет ничего общего с MVC, JQuery, HTML или даже проверки. Предоставьте свой HTML и Javascript. – BenjaminPaul

ответ

3

Использование @Html.EditorFor() для свойство, украшенное [DataType(DataType.Date)], приводит к <input ... type="date" />, который отображает версию браузера HTML5 datebicker.

Это поддерживается только в некоторых современных браузерах, а вовсе не в FireFox. Refer comparison here

Сторона примечания: для правильной визуализации даты для значения DO_Joining вы также должны использовать формат ISO (в противном случае существует несогласованный вывод в различных браузерах, которые его поддерживают). И вам не нужно атрибут [Required] (если ваш DateTime? - т.е. обнуляемым)

[DataType(DataType.Date)] 
[DisplayFormat(ApplyFormatInEditMode = true, DataFormatString = "{0:yyyy-MM-dd}")] 
public DateTime DO_Joining { get; set; } 
+0

здесь я уже использую Html.EditorFor(), а также я прохожу мимо вашего кода в моем модальном, но все же он работает в Google Chrome, но не в firefox, что я должен делать больше, чтобы он мог работать и в firefox. –

+0

Я знаю, что вы используете 'EditorFor()'. Внимательно прочитайте мой ответ. Второй абзац! –

+0

Можете ли вы, плз объяснить, что мне делать с этим .. не знаю .. что вы хотите сказать. –

Смежные вопросы