2014-01-10 4 views
3

Я создаю сайт MVC5, как вы уже знаете. И теперь я просто создал View, используя шаблон Crete, у которого есть поле BirthDate. Andit не показывается в IE и не показывает в Chrome Chrome с большим количеством gliphs внутри текстового поля, как вы можете сравнить на изображении ниже.IE not rendering DatePicker for MVC5

enter image description here

Что происходит и как я могу сделать IE, чтобы показать выбор даты так же легко, как и Chrome, и как clena это немного. Эти рычаги я считаю бесполезными и запутанными.

Вот как я определил, что собственность в моей модели

[Display(Name = "Fecha de nacimiento")] 
    [DataType(DataType.Date)] 
    [DisplayFormat(ApplyFormatInEditMode = true, DataFormatString = "{0:MM/dd/yyyy}")] 
    public DateTime BirthDate { get; set; } 

и в представлении

<div class="form-group"> 
     @Html.LabelFor(model => model.BirthDate, new { @class = "control-label col-md-2" }) 
     <div class="col-md-10"> 
      @Html.EditorFor(model => model.BirthDate) 

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

ответ

3

Если вам не нравится встроенный DatePicker (который визуализируется браузером потому что это тип ввода = «дата»), тогда доступно много плагинов сторонних разработчиков, таких как jQuery UI.

Возможно, вам понадобится использовать только EditorForTextBoxFor, поэтому браузер просто рассматривает это как обычное текстовое поле. Ниже приведен пример использования JQuery UI:

@Html.TextBoxFor(m => m.BirthDate) 

<script> 
    $(function() { 
     $('#BirthDate').datepicker(); 
    }); 
+0

Но почему IE не показывает ни одного выбора даты, это один из вопросов, которые я задал. Как Имакит может работать. это IE10 работает на Win8. –

+0

Я не уверен, что IE10 имеет полную поддержку HTML 5. Проверьте http://www.w3schools.com/html/tryit.asp?filename=tryhtml5_input_type_date – Dismissile

+0

Нет, они не делают :(Что они делают весь день? Я буду с jquery. Letyou знает и замечает как ответ в какой-то момент. –

2

Благодаря @Dissmissile я понять это с начальной загрузки DatePicker, но немного по-другому, на мой взгляд

@Html.TextBoxFor(model => model.Date, new { @class = "datepicker" }) 

Затем я добавил следующий код JS для настройки формата и поведение

$(document).ready(function() { 
     $(".datepicker").datepicker({ 
      format: "yyyy/mm/dd", 
      autoclose: true 
     }); 
     $(".datepicker").datepicker('setValue', new Date()); 
    });