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

Здесь есть возможность читать онлайн «Гайдар Магдануров - ASP.NET MVC Framework» — ознакомительный отрывок электронной книги совершенно бесплатно, а после прочтения отрывка купить полную версию. В некоторых случаях можно слушать аудио, скачать через торрент в формате fb2 и присутствует краткое содержание. Город: Санкт-Петербург, Год выпуска: 2010, ISBN: 2010, Издательство: БХВ-Петербург, Жанр: Интернет, Программирование, на русском языке. Описание произведения, (предисловие) а так же отзывы посетителей доступны на портале библиотеки ЛибКат.

ASP.NET MVC Framework: краткое содержание, описание и аннотация

Предлагаем к чтению аннотацию, описание, краткое содержание или предисловие (зависит от того, что написал сам автор книги «ASP.NET MVC Framework»). Если вы не нашли необходимую информацию о книге — напишите в комментариях, мы постараемся отыскать её.

Рассмотрены основные принципы и возможности технологии 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», без необходимости каждый раз заново искать на чём Вы остановились. Поставьте закладку, и сможете в любой момент перейти на страницу, на которой закончили чтение.

Тёмная тема
Сбросить

Интервал:

Закладка:

Сделать

return RedirectToAction("Index");

При использовании RedirectToActionможно указывать и контроллер, в который требуется перенаправить вызов, кроме того, можно указать набор значений параметров маршрута типа RouteValueDictionary. Следующий пример кода перенаправит вызов на действие Indexконтроллера AccountController:

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

ContentResult

ContentResult— это весьма простая реализация ActionResult, которая предназначена для того, чтобы в ответ на запрос передавать любой пользовательский строковый набор данных. Для реализации логики у ContentResultесть три свойства:

ContentType— MIME-тип передаваемых в ответ на запрос данных;

ContentEncoding— кодировка данных;

Content— строка данных для передачи в ответ на запрос.

Благодаря ContentResultразработчик получает возможность генерировать ответы на запросы в любом виде, который можно представить в виде строки текста. Этот тип ActionResultможет быть полезен при работе с механизмом RenderAction. RenderAction— это часть библиотеки MVCContrib, которая содержит расширения MVC Framework, не вошедшие в основной функционал. RenderActionпозволяет представлению вывести в месте вызова результат выполнения действия. При таком применении результат типа ContentResultподходит более всего. Для упрощения контроллеры содержат специальный метод Content, который возвращает значение типа ContentResult.

EmptyResult

Последний из рассмотренных стандартных вариантов ActionResult— это EmptyResult. Этот механизм предназначен для того, чтобы в ответ на запрос не возвращать ничего. Переопределенный в EmptyResultметод ExecuteResultне содержит ни строчки кода.

Создание своей реализации ActionResult

Важной особенностью механизма ActionResultявляется то, что вы можете создать свой собственный вариант, который будет формировать результат в том виде, который вам нужен. Например, вы можете разработать класс, наследующий ActionResult, который будет возвращать клиентам результаты запроса в виде XML-разметки. Классическим примером создания своего варианта ActionResultявляется реализация класса, который на запрос пользователя создает ответ в виде RSS-ленты. Продемонстрируем реализацию такого класса, добавив к нашему контроллеру AdminControllerдействие Rss, которое будет возвращать пользователю RSS-ленту со списком зарегистрированных пользователей.

Первым делом создадим класс RssResult, который наследует ActionResult, как показано в листинге 4.6.

Листинг 4.6. Класс RssResult

namespace MVCBookProject {

using System.Web.Mvc; using System.Xml;

using System.ServiceModel.Syndication;

public class RssResult : ActionResult {

public SyndicationFeed Feed { get; set; }

public RssResult(SyndicationFeed feed)

{

Feed = feed;

}

public override void ExecuteResult(ControllerContext context)

{

context.HttpContext.Response.ContentType =

"application/rss+xml";

Rss20FeedFormatter formatter = new Rss20FeedFormatter(Feed);

using (XmlWriter writer =

XmlWriter.Create(context.HttpContext.Response.Output))

{

if (writer != null)

formatter.WriteTo(writer);

}

}

}

}

Обратите внимание, для реализации своего варианта ActionResultв классе RssResultмы перегружаем метод ExecuteResult, который и выполняет всю необходимую логику по формированию того результата, который получит клиент в своем браузере в ответ на запрос.

Использование класса RssResultничем не отличается от применения других вариантов классов ActionResult. Добавим действие Rssв контроллер AdminControiierтак, как показано во фрагменте:

[AcceptVerbs(HttpVerbs.Get)]

public RssResult Rss()

{

MembershipProvider mp = Membership.Provider;

int userCount;

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

List items = new List();

if (userCount > 0)

{

string bodyTemplate = @"email: {0}, comment: {1},

last activity: {2}, is locked: {3}, is approved: {4}";

foreach (MembershipUser item in users)

{

string body = String.Format(bodyTemplate, item.Email,

item. Comment, item. LastActivityDate,

item.IsLockedOut, item.IsApproved);

items.Add(new SyndicationItem(item.UserName, body, null));

}

}

SyndicationFeed feed = new SyndicationFeed("Cписок пользователей",

" http://localhost/rss", Request.Url, items);

return new RssResult(feed);

}

Обратите внимание, что это действие возвращает результат в виде экземпляра класса RssResult, которому передается сгенерированный RSS-поток. После того как мы реализовали RssResultи действие Rss, можно попытаться запросить результат этого действия через браузер, перейдя по относительной ссылке /Admin/Rss. В итоге вы должны получить результат в виде RSS-потока, похожий на тот, который изображен на рис. 4.11.

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

Интервал:

Закладка:

Сделать

Похожие книги на «ASP.NET MVC Framework»

Представляем Вашему вниманию похожие книги на «ASP.NET MVC Framework» списком для выбора. Мы отобрали схожую по названию и смыслу литературу в надежде предоставить читателям больше вариантов отыскать новые, интересные, ещё непрочитанные произведения.


Отзывы о книге «ASP.NET MVC Framework»

Обсуждение, отзывы о книге «ASP.NET MVC Framework» и просто собственные мнения читателей. Оставьте ваши комментарии, напишите, что Вы думаете о произведении, его смысле или главных героях. Укажите что конкретно понравилось, а что нет, и почему Вы так считаете.

x