Гайдар Магдануров - ASP.NET MVC Framework

Тут можно читать онлайн Гайдар Магдануров - ASP.NET MVC Framework - бесплатно ознакомительный отрывок. Жанр: Интернет, издательство БХВ-Петербург, год 2010. Здесь Вы можете читать ознакомительный отрывок из книги онлайн без регистрации и SMS на сайте лучшей интернет библиотеки ЛибКинг или прочесть краткое содержание (суть), предисловие и аннотацию. Так же сможете купить и скачать торрент в электронном формате fb2, найти и слушать аудиокнигу на русском языке или узнать сколько частей в серии и всего страниц в публикации. Читателям доступно смотреть обложку, картинки, описание и отзывы (комментарии) о произведении.
  • Название:
    ASP.NET MVC Framework
  • Автор:
  • Жанр:
  • Издательство:
    БХВ-Петербург
  • Год:
    2010
  • Город:
    Санкт-Петербург
  • ISBN:
    978-5-9775-0462-1
  • Рейтинг:
    3/5. Голосов: 11
  • Избранное:
    Добавить в избранное
  • Отзывы:
  • Ваша оценка:
    • 60
    • 1
    • 2
    • 3
    • 4
    • 5

Гайдар Магдануров - ASP.NET MVC Framework краткое содержание

ASP.NET MVC Framework - описание и краткое содержание, автор Гайдар Магдануров, читайте бесплатно онлайн на сайте электронной библиотеки LibKing.Ru
Рассмотрены основные принципы и возможности технологии ASP.NET MVC Framework и показаны способы ее практического использования при разработке веб-приложений. Описаны преимущества подхода разработки MVC и рассмотрена структура MVC-приложения. Приведено сравнение технологии WebForms и MVC Framework и рассмотрены вопросы их совмещения.
Описаны модель и доступ к данным (технологии LINQ, Entity Framework и др.), контроллеры, представление и интерфейс приложения, механизмы маршрутизации и Ajax-функциональность. Уделено внимание вопросам тестирования веб-приложений. Рассмотрены особенности применения ASP.NET MVC 2 в Visual Studio 2010.
Для программистов

ASP.NET MVC Framework - читать онлайн бесплатно ознакомительный отрывок

ASP.NET MVC Framework - читать книгу онлайн бесплатно (ознакомительный отрывок), автор Гайдар Магдануров
Тёмная тема
Сбросить

Интервал:

Закладка:

Сделать

Назначение контроллеров

Обзор контроллеров в ASP.NET MVC

Для разработчика ASP.NET MVC-контроллер представляет собой класс, унаследованный от базового класса Controller(который в свою очередь унаследован от класса ControllerBase, реализующего интерфейс IController). Каждый файл контроллера MVC Framework должен подчиняться следующим требованиям:

□ располагаться в папке Controllersкорня проекта;

□ иметь суффикс Controller, например HomeController.cs, AccountController.cs;

□ класс контроллера должен иметь то же название, что и файл:

HomeController, AccountController.

Каждый контроллер содержит набор методов, которые в терминах MVC Framework называются действиями (actions). Действия реализуют бизнес-логику ответа и изменение модели данных в зависимости от действия пользователя или запроса клиента. Действия всегда возвращают результат, реализующий класс, наследующий ActionResult: такими классами являются следующие стандартные типы: ViewResult, JsonResult, FileResult, RedirectResult, RedirectToRouteResult, ContentResult, EmptyResult. В зависимости от возвращаемого типа клиент получит тот или иной тип набора данных: HTML-страницу, JSON-данные, бинарный файл и др. Кроме того, MVC Framework позволяет определять вам свои собственные определения типа возвращаемых значений.

Для примера рассмотрим проект ASP.NET MVC, который создается по умолчанию:

□ в файле AccountController.cs определен класс-контроллер AccountController, который содержит набор методов, возвращающих результат типа ActionResult;

□ класс AccountController, кроме всего прочего, содержит методы LogOn , LogOff, Register, ChangePassword и ChangePasswordSuccess, которые являются действиями, возвращающими результат типа ActionResult;

□ действия этого класса возвращают разнообразные типы значений. Так, большинство действий возвращают результат типа ViewResult, вызывая стандартный метод View. Некоторые методы могут вернуть результат в виде RedirectResultс помощью вызова метода Redirectили RedirectToRouteResultс помощью RedirectToAction;

□ в зависимости от типа возвращаемого значения пользователь получит определенный результат. Если метод вернул ViewResult, то пользователь получит HTML-код и увидит страницу. В случае когда результатом вызова действия будут данные типа RedirectResult, то браузер пользователя перенаправит вызов на другую страницу. В случае же когда тип возвращаемого значения — это RedirectToRouteResult, MVC Framework перенаправит вызов на другое действие текущего или иного контроллера.

Рассмотрим более конкретный пример, метод LogOnкласса AccountController:

public ActionResult LogOn(string userName,

string password,

bool rememberMe,

string returnUrl)

{

if (!ValidateLogOn(userName, password))

{

return View () ;

}

FormsAuth.SignIn(userName, rememberMe) ;

if (!String.IsNullOrEmpty(returnUrl))

{

return Redirect(returnUrl);

}

else

{

return RedirectToAction("Index", "Home");

}

}

Этот метод представляет действие, которое в зависимости от полученных от пользователя данных производит авторизацию пользователя либо сообщает об ошибке авторизации. В данном случае выполняется проверка данных пользователя и, если они неверны, возвращается стандартное представление, сопоставленное данному действию. Если данные верны, происходит авторизация, и пользователь перенаправляется либо на главную страницу, либо на URL, указанный в параметре returnUrl. Перенаправление на главную страницу происходит через вызов метода RedirectToAction, который возвращает результат типа RedirectToRouteResult, перенаправление на другой URL происходит через вызов Redirect, который возвращает результат типа RedirectResult.

Простой пример реализации контроллера

Чтобы показать на примере реализацию контроллера в MVC Framework, создадим новый контроллер для проекта, который формируется по умолчанию. Этот контроллер должен будет реализовывать простейшие административные действия, например, выводить список пользователей, создавать их, блокировать, менять пользователям пароль. Заметим, что наша первая реализация будет весьма простой, имеющей недостатки, которые по ходу этой главы будут исправляться при описывании очередной темы.

Перед созданием нашего примера заполним базу данных пользователей данными:

□ добавим две роли пользователей: Administratorsи Users;

□ добавим пользователей Adminс ролью Administratorsи Userс ролью Users.

Для добавления этих данных необходимо воспользоваться встроенным в Visual Studio средством для управления пользователями, которое можно вызвать, нажав последнюю иконку на панели Solution Explorer, которая появляется во время того, когда активен проект, реализующий поддержку стандартных провайдеров базы данных пользователей (рис. 4.1).

Рис 41 Панель кнопок Solution Explorer Для того чтобы создать контроллер в - фото 21

Рис. 4.1. Панель кнопок Solution Explorer

Для того чтобы создать контроллер в Visual Studio 2008, необходимо проделать следующие действия: в контекстном меню папки Controllers выбрать пункт Add, затем Controller (рис. 4.2).

Рис 42 Пункт меню позволяющий добавить в проект новый контроллер В - фото 22

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

В появившемся окне необходимо ввести название класса нового контроллера, в нашем случае AdminController(рис. 4.3).

После этого Visual Studio сгенерирует в пространстве имен по умолчанию необходимый нам класс:

public class AdminController : Controller {

//

// GET: /Admin/

public ActionResult Index() {

return View();

}

}

Рис 43 Окно ввода имени контроллера Visual Studio только облегчает вам - фото 23

Рис. 4.3. Окно ввода имени контроллера

Visual Studio только облегчает вам жизнь, упрощая рутинные операции, но при желании вы могли бы создать этот класс самостоятельно.

Мастер автоматически создал в контроллере метод Index, который представляет собой действие, вызываемое при обращении к контроллеру по умолчанию, согласно правилам маршрутизации, которые создаются в проекте (о маршрутизации подробнее будет рассказано позднее). Добавим в действие Index логику по созданию списка пользователей:

public ActionResult Index()

{

if (User.IsInRole("Administrators"))

{

MembershipProvider mp = Membership.Provider;

int userCount;

var users = mp.GetAllUsers(0, Int32.MaxValue, out userCount);

ViewData.Model = users;

return View ();

}

else

{

return RedirectToAction("Index", "Home");

}

}

Здесь, после проверки на принадлежность текущего пользователя к группе Administrators, создается список зарегистрированных пользователей, после чего он передается в специальный объект viewData, который в MVC Framework содержит модель данных, необходимых для представления. Если пользователь прошел проверку на принадлежность к группе Administrators, то после создания набора действие завершится вызовом метода viewData, который сформирует представление, сопоставленное данному действию. В случае же, когда пользователь, не имеющий права на доступ к этому действию, вызовет его, действие перенаправит вызов на другое действие Index контроллера Home, что, по сути, означает перенаправление на главную страницу сайта.

Читать дальше
Тёмная тема
Сбросить

Интервал:

Закладка:

Сделать


Гайдар Магдануров читать все книги автора по порядку

Гайдар Магдануров - все книги автора в одном месте читать по порядку полные версии на сайте онлайн библиотеки LibKing.




ASP.NET MVC Framework отзывы


Отзывы читателей о книге ASP.NET MVC Framework, автор: Гайдар Магдануров. Читайте комментарии и мнения людей о произведении.


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

Напишите свой комментарий
x