Поделиться через


Использование html5 и jQuery UI Datepicker Popup Calendar с ASP.NET MVC — часть 1

Рик Андерсон

В этом руководстве вы узнаете, как работать с шаблонами редакторов, шаблонами отображения и всплывающем календарем даты и пользовательского интерфейса jQuery в веб-приложении ASP.NET MVC.

В этом руководстве вы узнаете, как работать с шаблонами редакторов, шаблонами отображения и всплывающем календарем jQuery UI datepicker в веб-приложении ASP.NET MVC. В этом руководстве вы можете использовать Microsoft Visual Web Developer 2010 Express с пакетом обновления 1 ("Visual Web Developer"), который является бесплатной версией Microsoft Visual Studio или использовать Visual Studio 2010 с пакетом обновления 1 (SP1), если у вас уже есть это.

Перед началом работы убедитесь, что вы установили необходимые компоненты, перечисленные ниже. Все их можно установить, щелкнув следующую ссылку: установщик веб-платформы. Кроме того, можно отдельно установить необходимое программное обеспечение с помощью следующих ссылок:

Если вы используете Visual Studio 2010 вместо Visual Web Developer, установите необходимые компоненты, щелкнув следующую ссылку: предварительные требования Visual Studio 2010.

В этом руководстве предполагается, что вы выполнили руководство по началу работы с MVC 3 или знакомы с ASP.NET разработке MVC. Это руководство начинается с завершенного проекта из руководства по началу работы с MVC 3 .

Что вы создадите

Вы добавите шаблоны (в частности, изменение и отображение шаблонов) в простое приложение для просмотра фильмов, созданное в руководстве по началу работы с MVC 3 . Вы также добавите всплывющий календарь даты пользовательского интерфейса jQuery, чтобы упростить процесс ввода дат. На следующем снимке экрана показан измененное приложение с отображаемым всплывающем календарем даты и пользовательского интерфейса jQuery.

Снимок экрана: окно

Чему вы научитесь

В этом учебнике вы узнаете:

  • Как использовать атрибуты из пространства имен DataAnnotations для управления форматом данных при отображении и в режиме редактирования.
  • Создание шаблонов (изменение и отображение шаблонов) для управления форматированием данных.
  • Добавление datepicker пользовательского интерфейса jQuery в качестве способа ввода полей дат.

Начало работы

Если у вас еще нет приложения для перечисления фильмов из начального проекта, скачайте его:

  • Загрузить.
  • В проводнике Windows щелкните правой кнопкой мыши файл MvcMovie.zip и выберите "Свойства".
  • В диалоговом окне "Свойства MvcMovie.zip" выберите "Разблокировать". Разблокировка устраняет предупреждение системы безопасности, выводимое при попытке использовать ZIP-файл , загруженный из Интернета.

Снимок экрана: поле

Щелкните правой кнопкой мыши файл MvcMovie.zip и выберите "Извлечь все ", чтобы распакуировать файл. В Visual Web Developer или Visual Studio 2010 откройте файл MvcMovieCS_TU.sln .

В Обозреватель решений дважды щелкните представление\Shared\_Layout.cshtml, чтобы открыть его. Измените H1 заголовок из приложения фильма MVC на Movie jQuery. Нажмите клавиши CTRL+F5, чтобы запустить приложение, и перейдите на вкладку "Главная ", которая позволяет перейти к Index методу контроллера фильма. Чтобы попробовать приложение, выберите ссылку "Изменить " и ссылку "Сведения " для одного из фильмов. Обратите внимание, что в представлениях индекса, редактирования и сведений дата выпуска и цена хорошо отформатированы:

Снимок экрана: окно Movie jQuery с представлением сведений с заданными значениями для выбранного фильма.

Форматирование даты и цены является результатом использования атрибута DisplayFormat для свойств Movie класса.

Откройте файл Movie.cs и закомментируйте DisplayFormat атрибут в свойствах ReleaseDate и Price свойствах. Полученный Movie класс выглядит следующим образом:

public class Movie {
    public int ID { get; set; }

    [Required(ErrorMessage = "Title is required")]
    public string Title { get; set; }

    //  [DisplayFormat(DataFormatString = "{0:d}")]
    public DateTime ReleaseDate { get; set; }

    [Required(ErrorMessage = "Genre must be specified")]
    public string Genre { get; set; }

    [Range(1, 100, ErrorMessage = "Price must be between $1 and $100")]
    //[DisplayFormat(DataFormatString = "{0:c}")]
    public decimal Price { get; set; }

    [StringLength(5)]
    public string Rating { get; set; }
}

Нажмите клавиши CTRL+F5 еще раз, чтобы запустить приложение, и выберите вкладку "Главная ", чтобы просмотреть список фильмов. На этот раз дата выпуска отображает дату и время, а поле цены больше не отображает символ валюты. Изменение в Movie классе не устранило хорошее форматирование, которое вы видели ранее, но вы исправите это в данный момент.

Снимок экрана: окно

Использование атрибута DataAnnotations DataType для указания типа данных

Замените закомментированный DisplayFormat атрибут для ReleaseDate свойства атрибутом DataType с помощью Date перечисления. Замените DisplayFormat атрибут для Price свойства атрибутом DataType еще раз с помощью Currency перечисления. Вот как выглядит завершенный код:

public class Movie {
    public int ID { get; set; }

    [Required(ErrorMessage = "Title is required")]
    public string Title { get; set; }

    [DataType(DataType.Date)]
    public DateTime ReleaseDate { get; set; }

    [Required(ErrorMessage = "Genre must be specified")]
    public string Genre { get; set; }

    [Range(1, 100, ErrorMessage = "Price must be between $1 and $100")]
    [DataType(DataType.Currency)]
    public decimal Price { get; set; }

    [StringLength(5)]
    public string Rating { get; set; }
}

Запустите приложение. Теперь дата выпуска и свойства цены форматируются правильно (то есть с использованием соответствующих форматов дат и валют). Атрибут DataType предоставляет метаданные типа для встроенных ASP.NET шаблонов MVC, чтобы поля отображались в правильном формате. DataType Использование атрибута предпочтительнее использовать DisplayFormat атрибут, который изначально был в коде, так как DataType атрибут делает модель более чистой и гибкой для таких целей, как интернационализация.

В следующем разделе вы узнаете, как создавать настраиваемые шаблоны для отображения полей дат.