为什么datepicker不会显示在我的MVC 3网站中?

时间:2012-03-08 12:16:56

标签: c# asp.net-mvc-3 razor datepicker

当我点击文本框时,我正在关注此tutorial以显示日期选择器...但日期选择器不会显示...

模特课程(预订):

    [Required(ErrorMessage = "Date requise.")]
    [Display(Name = "Date")]
    [Column("Date")]
    [DataType(DataType.DateTime)]
    public DateTime Date { get; set; }

EditorHookup.js

/// <reference path="~/Scripts/jquery-1.5.1.js" />
/// <reference path="~/Scripts/jquery-ui-1.8.11.js" />
$(document).ready(function () {
$('.date').datepicker({ dateFormat: "dd/mm/yy" });
});

部分视图(Date.cshtml)

@inherits System.Web.Mvc.WebViewPage<System.DateTime?>
@model DateTime
@Html.TextBox("", Model.ToString("dd/MM/yyyy"),
              new{@class="date"})
** TODO Wire up the date picker! **

我的观点

@model TennisOnline.Models.Reservation

@{
ViewBag.Title = "Create";
Layout = "~/Views/Shared/_Layout.cshtml";
}

<h2>Create</h2>

<script src="@Url.Content("~/Scripts/jquery.validate.min.js")" type="text/javascript"> </script>
<script src="@Url.Content("~/Scripts/jquery.validate.unobtrusive.min.js")" type="text/javascript"></script>
<script src="@Url.Content("~/Scripts/jquery-ui-1.8.11.js")" type="text/javascript"></script>
<link href="@Url.Content("~/Content/themes/base/jquery.ui.all.css")" rel="stylesheet" type="text/css" />
<script src="@Url.Content("~/Scripts/EditorHookup.js")" type="text/javascript"></script>

@using (Html.BeginForm()) {
@Html.ValidationSummary(true)
<fieldset>
    <legend>Reservation</legend>

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

那么,你知道为什么日期选择器不显示吗?提前致谢

3 个答案:

答案 0 :(得分:3)

您的部分视图模型未被调用,因为您的属性的DataType错误。取代

[DataType(DataType.DateTime)]

[DataType(DataType.Date)]

并且一切都应按预期工作。

修改

您还应该从部分视图中删除@inherits行,因为模型不允许继承。

答案 1 :(得分:2)

我认为您的视图缺少对=“〜/ Scripts / jquery-1.5.1.js”脚本的引用。

答案 2 :(得分:0)

我认为您的部分视图可能需要命名为DateTime.cshtml以匹配您的模型属性的类型。