ASP.NET MVC Framework - [11]
>Home
представлен на рис. 2.2. Если, к примеру, включить возможность сортировки в >GridView
, после чего щелкнуть по ссылке в заголовке таблицы, то будет отображена ошибка, представленная на рис. 2.3, поскольку MVC Framework не позволяет корректно обработать серверные события.Очевидно, что указанные ограничения функциональности элементов управления делают подобное использование элементов управления, требующих обработки серверных событий, непригодными для использования в представлениях. Для таких элементов управления стоит рассмотреть методику внедрения полноценных WebForms-страниц в MVC-приложение.
С другой стороны, для элементов, отвечающих только за генерацию разметки, такое использование может быть оправдано.
Внедрение страниц WebForms в MVC-приложения
Чтобы использовать страницу WebForms в MVC-приложении, нет необходимости писать большое количество кода. Поскольку MVC-приложение по сути является ASP.NET-приложением, и при его создании нет препятствий к использованию WebForms, все, что нужно сделать — объяснить системе маршрутизации MVC Framework, что для страниц WebForms эту самую систему маршрутизации использовать не надо. Для этого достаточно добавить в файле Global.asax в метод >RegisterRoutes
правило для игнорирования путей к страницам ASPX:
>routes.IgnoreRoute("{resource}.aspx/{"pathInfo}");
После этого в MVC-приложение можно добавить стандартную ASPX-страницу, например WebForm1.aspx, код которой приведен в листинге 2.8, и для этой страницы будет обеспечена полноценная функциональность WebForms, что подтверждает рис. 2.4.
Листинг 2.8. Страница WebForml.aspx
><%@ Page Language="C#" AutoEventWireup="true"
> CodeBehind="WebForm1.aspx.cs"
> Inherits="MvcWebFormsCompositeApp.WebForm1" %>
>
> "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
>http://www.w3.org/1999/xhtml">
>
>
>
>
>
>
> ConnectionString="<%$ ConnectionStrings:ConnectionString %>"
> SelectCommand="SELECT * FROM [Persons]">
>
>
>
> AutoGenerateColumns="False" DataKeyNames="PersonId"
> DataSourceID="SqlDataSource1">
>
>
> HeaderText="PersonId"
> InsertVisible="False" ReadOnly="True"
> SortExpression="PersonId" />
>
> HeaderText="LastName" SortExpression="LastName" />
>
> HeaderText="FirstName" SortExpression="FirstName" />
>
>
>
>
>
Использование MVC Framework в существующих решениях WebForms
Рассмотрим сценарий расширения существующего WebForms-приложения с использованием MVC Framework. Для этого нужно выполнить несколько простых шагов:
1. Установить в свойствах веб-приложения версию .NET Framework 3.5, поскольку если приложение WebForms было разработано для версии .NET Framework 2.0, то MVC Framework для нее не поддерживается.
2. Добавить ссылки на сборки System.Web.Mvc и System.Web.Routing.
3. Зарегистрировать в файле web.config необходимые для функционирования MVC-приложения обработчики в разделе system.web/httpModules (листинг 2.9) и system/webServer/modules и system/webServer/handlers (листинг 2.10). Необходимые изменения выделены полужирным. Кроме того, поскольку в листингах 2.9 и 2.10 сборки указываются без описания версий, необходимо в директорию bin веб-приложения скопировать файлы System.Web.Mvc.dll и System.Web.Routing.dll. Либо указать полные имена сборок, посмотрев описания в тестовом MVC-приложении, которое стоит создать по такому случаю.
4. Зарегистрировать пространства имен, которые будут использовать представления (листинг 2.11).
5. Создать таблицу маршрутизации в файле global.asax (листинг 2.12).
6. Создать директорию /Controllers, разместить в ней контроллеры.
7. Создать директорию /Views и разместить в ней дерево представлений, отвечающее контроллерам и их действиям (рис. 2.5).
Листинг 2.9. Регистрация модуля MVC Framework в web.config
>
>
>
> type=" System.Web.Routing.UrlRoutingModule,
> System.Web.Routing" />
>
> type="System.Web.Handlers.ScriptModule,
> System.Web.Extensions"/>
>
Листинг 2.10. Регистрация модулей и обработчиков MVC Framework в web.config
>
>
>
>
> type="System.Web.Handlers.ScriptModule,
> System.Web.Extensions"/>
>
>
>
>
> path="*.asmx" preCondition="integratedMode"
В книге рассказывается история главного героя, который сталкивается с различными проблемами и препятствиями на протяжении всего своего путешествия. По пути он встречает множество второстепенных персонажей, которые играют важные роли в истории. Благодаря опыту главного героя книга исследует такие темы, как любовь, потеря, надежда и стойкость. По мере того, как главный герой преодолевает свои трудности, он усваивает ценные уроки жизни и растет как личность.
Работа сайта похожа на работу обычного магазина: если секции с разными товарами расположены логично, консультанты доступны в любой момент, а описания товаров информативны и понятны, есть шанс, что человек, зашедший в магазин, не уйдет с пустыми руками. Проанализируйте характеристики ваших потенциальных клиентов, поймите, что для них является ценностью, какие аргументы привлекут их внимание, соответственно этому продумайте структуру сайта, спроектируйте «маршрут» передвижения и составьте описания товаров – и ваши посетители будут гораздо чаще, чем сейчас, кликать на значок «корзины», а вы в разы повысите один из главных показателей работы сайта – конверсию.
Эта книга – захватывающая история самой успешной Интернет-компании в мире. В последнее время финансовый результат деятельности Google Inc. превосходит даже самые смелые ожидания инвестиционных аналитиков.Целеустремленность, научный талант, творческий поиск, смелость и любовь к эксперименту основателей компании – бывшего москвича Сергея Брина и выходца из штата Мичиган Ларри Пейджа – проложили путь к долгосрочному успеху компании. Под их руководством поисковый механизм Google стал популярнейшим ресурсом, который пользователи любят за удобство и уже испытывают к нему сильную эмоциональную привязанность.
«Даркнет» – это рассказ о цифровой революции в мире медиа. В битве между технологическим прогрессом и медиа-магнатами решается будущее кино, музыки, телевидения, компьютерных игр и Интернета. В этой книге вы найдете истории людей, оказавшихся в эпицентре битвы. «Даркнет» увлечет вас в тайный мир киноподполья, где бутлегеры и пираты скрываются от закона и Голливуда. Но не только в подполье делается цифровая революция: множеству приверженцев цифрового образа жизни, творцам фан-фикшн, диджеев, кинематографистам-любителям, пионерам телевидения нового поколения и разработчикам игр приходится противостоять могущественным силам, стремящимся сохранить статус-кво.
Черный PR сегодня активно перемещается в Интернет. В свое время кольт сделал людей равными. Сегодня Интернет уравнял финансово сильных и слабых в медиапространстве. Глобальная сеть позволяет рядовому человеку разорить могущественную корпорацию. Маленькая компания может эффективно противостоять транснациональному монстру, не располагая никакими финансами. Умение отражать информационные атаки стало на редкость насущной проблемой для любого бизнеса.В этой книге показаны все необходимые для отражения информационного нападения в Интернет инструменты и раскрыты секреты их применения.
В книге рассказывается история главного героя, который сталкивается с различными проблемами и препятствиями на протяжении всего своего путешествия. По пути он встречает множество второстепенных персонажей, которые играют важные роли в истории. Благодаря опыту главного героя книга исследует такие темы, как любовь, потеря, надежда и стойкость. По мере того, как главный герой преодолевает свои трудности, он усваивает ценные уроки жизни и растет как личность.