2012-12-26 2 views
1

Пока я обновлял проект mvc3 до mvc4, я встретил проблему с датпикером JQuery.while asp.net mvc4 upgrade jquery datepicker error

MVC3 проект использует

  • Jquery 1.6.3-
  • JQuery-UI 1.8.11-

MVC4 проект использует

  • Jquery-1.7.1
  • jquery-ui-1.8.20

JQuery datepicker работает над mVC3, но ошибка на mvc4.

enter image description here

Моя модель это

public class Reservation 
{ 
    public string Name { get; set; } 
    public DateTime? Date { get; set; } 
} 

И мой EditorTemplate здесь.

model DateTime? 

Html.TextBox("", Model.HasValue ? Model.Value.ToShortDateString() : string.Empty, new { data_datepicker = true }) 

Я применил атрибуты данных в модели как это, но не сработало.

[DataType(DataType.Date)] 
    [DisplayFormat(DataFormatString = "{0:dd.mm.yyyy}")] 
    public DateTime? Date { get; set; } 

ответ

0

Может быть, ваша проблема JQuery references.Try ссылаться из Google CDN непосредственно Любит ниже (это самые последние версии).

<link rel="stylesheet" href="//ajax.googleapis.com/ajax/libs/jqueryui/1.9.2/themes/base/jquery-ui.css" 
      type="text/css" media="all" /> 
<script src="//ajax.googleapis.com/ajax/libs/jquery/1.8.3/jquery.min.js"></script> 
<script src="//ajax.googleapis.com/ajax/libs/jqueryui/1.9.2/jquery-ui.min.js"></script> 

Я надеюсь, что это поможет вам.

0

Попробуйте изменить модель для

[UIHint("DateTemplateYouAreUsing")]
public DateTime? Date { get; set; }

и ваш шаблон редактор
$.validator.methods.date = function (value, element) {
!isNaN(Globalize.parseDate(value)); return this.optional(element) ||
}

@model DateTime
@Html.TextBox("", String.Format("{0:dd.MM.yyyy}", Model.ToShortDateString()),
new { @class = "newdate" })

и изменить сценарий, чтобы:
$(document).ready(function() {
$('.newdate').datepicker({ dateFormat: 'dd.mm.yy'});
Globalize.culture('de-AT');
});

Не забудьте добавить
Загрузить эти файлы от https://github.com/jquery/globalize

Надеюсь, это сработает !!