UR.ANUS
Asp.net mvc framework
вернуться

Магдануров Гайдар Ильдарович

Шрифт:

SelectCommand="SELECT * FROM [Persons]">

</asp:SqlDataSource>

<br/>

<asp:GridView ID="GridView1" runat="server"

AutoGenerateColumns="False" DataKeyNames="PersonId"

DataSourceID="SqlDataSource1">

<Columns>

<asp:BoundField DataField="PersonId"

HeaderText="PersonId"

InsertVisible="False" ReadOnly="True"

SortExpression="PersonId" />

<asp:BoundField DataField="LastName"

HeaderText="LastName" SortExpression="LastName" />

<asp:BoundField DataField="FirstName"

HeaderText="FirstName" SortExpression="FirstName" />

</Columns>

</asp:GridView>

</form>

</body>

</html>

Использование 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

<system.web>

<httpModules>

<add name="UrlRoutingModule"

type=" System.Web.Routing.UrlRoutingModule,

System.Web.Routing" />

<add name="ScriptModule"

type="System.Web.Handlers.ScriptModule,

System.Web.Extensions"/>

</httpModules>

Листинг 2.10. Регистрация модулей и обработчиков MVC Framework в web.config

<system.webServer>

<validation validateIntegratedModeConfiguration="false"/>

<modules runAllManagedModulesForAllRequests="true">

<add name="ScriptModule" preCondition="managedHandler"

type="System.Web.Handlers.ScriptModule,

System.Web.Extensions"/>

<add name="UrlRoutingModule" type="

System.Web. Routing.UrlRoutingModule,

System.Web.Routing" />

</modules>

<handlers>

<add name="ScriptHandlerFactory" verb="*"

path="*.asmx" preCondition="integratedMode"

type="System.Web.Script.Services.ScriptHandlerFactory,

System.Web.Extensions"/>

<add name="ScriptHandlerFactoryAppServices" verb="*"

path="*_AppService.axd" preCondition="integratedMode"

type="System.Web.Script.Services.ScriptHandlerFactory,

System.Web.Extensions"/>

<add name="ScriptResource" preCondition="integratedMode"

verb="GET,HEAD" path="ScriptResource.axd"

type="System.Web.Handlers.ScriptResourceHandler,

System.Web.Extensions" />

<add name="MvcHttpHandler" preCondition="integratedMode" verb="*"

path=" *.mvc" type=" System.Web.Mvc.MvcHttpHandler,

System.Web.Mvc"/>

<add name="UrlRoutingHandler" preCondition="integratedMode"

verb="*" path="UrlRouting.axd"

type="System.Web.HttpForbiddenHandler, System.Web" />

  • Читать дальше
  • 1
  • ...
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • ...

UR.ANUS - русскоязычная библиотека для чтения онлайн. Здесь удобно открывать книги с телефона и ПК, возвращаться к сохраненной странице и держать любимые произведения под рукой. Материалы добавляются пользователями; если считаете, что ваши права нарушены, воспользуйтесь формой обратной связи.

Полезные ссылки

  • Моя полка

Контакты

  • support@anus.bid