ASP.NET MVC Framework | страница 24
Листинг 2.12. Таблица маршрутизации в файле Global.asax
>public static void RegisterRoutes(RouteCollection routes)
>{
> routes.IgnoreRoute("{resource}.axd/{*pathInfo}") ;
> routes.IgnoreRoute("{resource}.aspx/{*pathInfo}");
> routes.MapRoute("Default", "{controller}/{action}/{id}",
> new { controller = "Home", action = "Index", id = "" });
>}
>protected void Application_Start()
>{
> RegisterRoutes(RouteTable.Routes);
>}
Рис. 2.5. Структура WebForms-приложения после добавления MVC-компонентов
После того как все необходимые шаги выполнены, можно продолжать пользоваться WebForms-приложением, а также использовать только что добавленные контроллер и представление, например, создав контроллер >Home
(листинг 2.13) и представление >Index
(листинг 2.14), можно получить при обращении по пути /Home/Index результат, представленный на рис. 2.6.
Листинг 2.13. Файл HomeController.cs
>using System.Web.Mvc;
>namespace WebFormsMvcInterop.Controllers {
> public class HomeController : Controller {
> public ActionResult Index()
> {
> return View();
> }
> }
>}
Листинг 2.14. Файл Index.aspx
><%@ Page Language="C#" Inherits="System.Web.Mvc.ViewPage" %>
>
>
>
>
>
>
>
>Hello from MVC
>
>
Заключение
В этой главе мы рассмотрели достоинства и недостатки MVC Framework в сравнении с WebForms, а также возможности совместного использования этих технологий в рамках одного проекта. Пожалуй, нужно отметить, что не стоит смешивать эти технологии без необходимости, поскольку при совмещении WebForms и MVC Framework вы получаете все их недостатки, не всегда имея возможность полностью реализовать достоинства.
Этой главой мы заканчиваем несколько растянувшееся введение, и, начиная со следующей главы, вы сможете глубоко окунуться в технические детали использования MVC Framework.
ГЛАВА 3
Модель и доступ к данным
Согласно паттерну проектирования MVC основное назначение модели — это определение объекта приложения, представлением которого является вид (View). Модель и вид отделены друг от друга и взаимодействуют только в виде оповещений: изменившись, модель оповещает вид, который, согласно новым данным, изменяет свое состояние. Со своей стороны, вид обращается к модели для получения актуальных данных для отображения.
Структура этой главы построена так, что мы начнем рассмотрение построения доступа к данным с обзора механизма Object Relation Mapping, его истории, развития и того, какие механизмы ORM присутствуют в .NET. Мы рассмотрим технологию LINQ, LINQ для SQL, Entity Framework. После этого на простом примере разберем принцип организации эффективного доступа к данным в проектах ASP.NET MVC. В конце главы вас ждет раздел, в котором описаны наиболее популярные механизмы доступа к данным.