- •7. Разработка на asp.Net. MasterPage, динамические компоненты, ajax, asp.Net mvc
- •7.1. Использование MasterPage
- •7.2. Динамическое создание элементов управления
- •7.3. Навигация по сайту
- •7.3.1. Карта сайта
- •7.3.2. Использование элементов управления Menu и SiteMapPath
- •7.3.2.1. Использование Menu
- •7.3.2.2. Использование SiteMapPath
- •7.4. Использование компонент для отображения данных
- •7.4.1. Компонент GridView
- •7.4.1.1. Привязка данных
- •7.4.1.2. Форматирование отображаемых данных
- •7.4.1.3. Изменение и удаление данных
- •7.4.1.4. Шаблоны столбцов
- •7.4.1.5. Сортировка
- •7.4.1.5.1. Процесс сортировки GridView
- •7.4.1.6. Разбиение по страницам
- •7.4.1.7. События GridView
- •7.4.2. Компонент DataList
- •7.6. Ajax
- •7.6.1. Преимущества использования asp.Net ajax
- •7.6.2. Архитектура ajax в asp.Net
- •7.6.3. Клиентская архитектура технологии ajax
- •7.6.3.1. Компоненты
- •7.6.3.2. Сетевое взаимодействие
- •7.6.3.3. Базовые службы
- •7.6.3.4. Глобализация
- •7.6.4. Серверная архитектура ajax
- •7.6.4.1. Поддержка сценариев
- •7.6.4.2. Локализация
- •7.6.4.3. Веб-службы
- •7.6.4.4. Службы приложений
- •7.6.4.5. Серверные элементы управления
- •7.6.5. Пример использования ajax
- •7.7. Asp.Net mvc
- •7.7.1. Общие сведения
- •7.7.2. "Hello World" на asp.Net mvc
- •7.8. Ключевые термины
- •7.9. Краткие итоги
7.7.2. "Hello World" на asp.Net mvc
Создадим новый проект ASP.NET MVC. Для этого понадобится установить для Visual Studio 2008 дополнение:
http://www.microsoft.com/downloads/details.aspx?FamilyID=53289097-73ce-43bf-b6a6-35e00103cb4b&displaylang=en

Рис. 7.17. Ход обработки запроса в схеме MVC
После того как дополнение будет установлено, в списке доступных проектов появится ASP.NET MVC Web Application. Сразу после создания новый проект уже будет содержать ряд файлов и директорий, которые отображены на рис. 7.18.

Рис. 7.18. Структура проекта MVC сразу после создания
В папке Controllers располагается ряд контроллеров. Если кликнуть правой клавишей мыши по этой папке, то в контекстном меню можно будет выбрать пункт Add New Item -> Controller. Добавим новый контроллер HelloController. Сразу после добавления будет сгененрирован примерно следующий код:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.Mvc;
using System.Web.Mvc.Ajax;
namespace MvcApplication1.Controllers
{
public class HelloController : Controller
{
// GET: /Hello/
public ActionResult Index()
{
return View();
}
}
}
Метод Index определяет действие контроллера (действия отмечаются как методы, возвращающие объект ActionResult). В данном случае это метод, который вызывается по умолчанию, когда пользователь обращается по адресу <путь к сайту>/Hello. В этом случае будет отображен вид по умолчанию. Добавим еще одно действие в контроллер:
public ActionResult HiThere(string id)
{
ViewData["Name"] = id;
return View("HiThere");
}
Чтобы обратиться к этому действию, пользователь должен уже будет набрать <путь к сайту>/Hello/HiThere в адресной строке браузера. Это действие помещает переданные ему данные в коллекцию ViewData, которая будет доступна на странице View.
Теперь необходимо создать отображение для этого действия. Самый простой способ это сделать – нажать правой клавишей мыши по действию и в контекстном окне выбрать Add View (рис. 7.19).

Рис. 7.19. Добавление нового вида для действия HiThere
Доработаем созданное представление следующим образом, чтобы оно выдавало приветствие пользователю:
<%@ Page Language="C#" Inherits="System.Web.Mvc.ViewPage" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
<title>HiThere</title>
</head>
<body>
<div>
<h1>Hello, <%= ViewData["Name"] %></h1>
</div>
</body>
</html>
Примечание: обратите внимание, что в данном подходе используется модель разработки, похожая на классический ASP, а не ASP.NET за счет использования <%= %>.
Теперь, если пользователь с именем Alex обратится по адресу: <путь к сайту>/Hello/HiThere/Alex он увидит страницу приветствия, показанную на рис. 7.20.

Рис. 7.20. Результат обращения к странице <путь к сайту>/Hello/HiThere/Alex
7.8. Ключевые термины
ASP.NET, Мастер страницы, GridView, DataList, Пользовательский серверный компонент, AJAX, ASP.NET MVC.
