1

当我将我的 mvc3 项目升级到 mvc4 时,我遇到了一个关于 JQuery datepicker 的问题。

MVC3 项目正在使用

  • jQuery-1.6.3
  • jquery-ui-1.8.11

MVC4 项目正在使用

  • jQuery-1.7.1
  • jquery-ui-1.8.20

JQuery datepicker 在 mVC3 上工作,但在 mvc4 上发生错误。

在此处输入图像描述

我的模型是这个

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; }
4

2 回答 2

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
下载这些文件

希望这有效!

于 2013-03-06T13:45:07.060 回答
0

可能是您的问题是 jQuery 引用。尝试直接从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>

我希望这对你有帮助。

于 2012-12-27T05:39:28.810 回答