Опубликован: 30.01.2013 | Уровень: для всех | Доступ: платный
Самостоятельная работа 7:
Работа с приложениями на ASP.NET MVC Framework
< Лекция 6 || Самостоятельная работа 7 || Лекция 7 >
Аннотация: Цель работы: получение базовых навыков по созданию приложений на базе ASP.NET MVC Framework.
Исходные условия
Подготовленный веб-сервер согласно лабораторной работе №1.
Задание 1. Создание простого приложения на основе ASP.NET MVC Framework
Создание нового приложения на платформе ASP.NET MVC Framework и определение маршрутов.
- Используя Visual Studio, создайте новый проект ASP.NET MVC Framework.
- Новый проект будет содержать набор заготовленных контроллеров и представлений. Один из контроллеров и связанные с ним представления не понадобятся нам при выполнении работы. Поэтому удалим контроллер "AccountController" и связанные с ним представления.
- После этого приложение готово для работы и можно его запустить.
- Определим собственные маршруты для приложения. Для задания маршрутов используется файл "Global.asax". В файле приложения регистрация маршрутов происходит в статическом методе RegisterRoutes. По умолчанию этот файл содержит единственный универсальный маршрут.
- Определим собственный маршрут, который будет использовать котроллер "Home" и его действие "About". Для этого следует воспользоваться методом MapRoute объекта RouteCollection. Этот маршрут будет ассоциироваться с адресом "/myroute1".
- После запуска приложения и обращения по адресу "/myroute1" будет создан контроллер "Home" и запущен его метод "About".
Задание 2. Определение собственного контроллера
Создание контроллера и его методов.
- Используйте проект ASP.NET MVC Framework из предыдущего задания для дальнейшей работы.
- В папку "Controllers" добавьте новый контроллер. Для этого нажмите правой кнопкой мыши на эту папку и в контекстном меню выберите пункт "Add - Controller".
- Укажите имя "TestController" при создании нового контроллера. В проекте появится новый контроллер.
- Добавьте в новый контроллер действие с именем "Test1". Для этого необходимо создать новый метод, возвращающий в качестве результата объект типа ActionResult.
- В теле этого метода следует создать объект-представление. Для того чтобы использовать стандартный механизм представлений, следует вызвать метод View.
- После этого следует создать новое представление. Для этого в папке "Views" следует создать папку с именем, аналогичным имени контроллера (в данном случае - "Test").
- После этого следует создать новое представление, с именем, аналогичным имени действия (в данном случае - "Test1").
- Теперь при запуске приложения и обращения по адресу "/test/test1" (согласно таблице маршрутов), будет создан контроллер "Test" и запущено его действие "Test1".
- Вернемся к описанию контроллера и создадим еще одно действие "Test2". В этом случае, попробуем использовать уже существующее представление (не будем создавать новое). Для этого при вызове метода View передадим ему соответствующее значение параметра.
- Теперь при запуске приложения и обращения по адресу "/test/test2" будет использовано то же самое представление, но другое действие контроллера.
- Также можно не пользоваться стандартным механизмом генерации представлений, а вернуть в качестве представления обычный текст. Для этого можно использовать метод Content.
- Теперь при запуске приложения и обращения по адресу "/test/test3" приложение отобразит простую строку, без использования стандартных механизмов генерации представлений.
- Аналогичным образом можно создавать и другие контроллеры и действия контроллера.
Задание 3. Определение собственного представления
Работа с механизмом представлений в ASP.NET MVC Framework.
- Используйте проект ASP.NET MVC Framework из предыдущего задания для дальнейшей работы.
- Откройте представление "Test1", используемое в предыдущем задании.
- Шаблон представления состоит из нескольких частей, представляющих участки, определенные мастер-страницей (ContentPlaceHodler). Задайте заголовок для основной части.
- Для того, чтобы получить данные от контроллера можно воспользоваться объектом ViewData. Для этого вернемся в контроллер и передадим какие-нибудь данные.
- Для того, чтобы работать с этим данными из представления следует также обратиться к коллекции ViewData, но уже из самого представления. При этом можно использовать существующую нотацию ASPX-страниц для определения разметки. Давайте отобразим эти данные на странице.
- Аналогично можно передавать более сложные типы данных. Например, можно передать массив данных из контроллера в представление. Для этого его также следует поместить в коллекцию ViewData в рамках метода контроллера.
- Для получения доступа к этим данным из представления следует получить этот объект и преобразовать его к коллекции строк (так, как определено в контроллере). После этого в цикле можно отобразить данные на странице.
- После этого при обращении к странице, данные, полученные от контроллера, будут отображены на странице.
< Лекция 6 || Самостоятельная работа 7 || Лекция 7 >