Почему средство выбора даты не отображается на моем веб-сайте MVC 3? - PullRequest
0 голосов
/ 08 марта 2012

Я следую этому учебнику , чтобы отображать средство выбора даты, когда я щелкаю в текстовом поле ... Но средство выбора даты не отображается ...

Класс модели(Резервирование):

    [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 ]

3 голосов
/ 08 марта 2012

Ваша модель частичного просмотра не вызывается, потому что тип данных вашего свойства неверен.Замените

[DataType(DataType.DateTime)]

на

[DataType(DataType.Date)]

и все должно работать как положено.

Редактировать

Вы также должны удалитьстрока @inherits из вашего частичного представления в качестве наследников недопустима для модели.

2 голосов
/ 08 марта 2012

Я думаю, что в вашем представлении отсутствует ссылка на скрипт = "~ / Scripts / jquery-1.5.1.js".

0 голосов
/ 08 марта 2012

Я думаю, что вашему частичному представлению может потребоваться имя DateTime.cshtml, чтобы соответствовать типу свойства вашей модели.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...