Создание приложения asp net mvc

Создание приложения asp net mvc

Создание проекта

Мы посмотрели некоторые основные понятия паттерна MVC, теперь создадим первое приложение. Это будет очень простенькое приложение, цель которого — дать некоторое начальное понимание работы с ASP.NET MVC 5.

Это приложение будет эмулировать работу книжного магазина: оно будет предоставлять нам выбор книг, а пользователь, зашедший на сайт, сможет оформить покупку. Для начала, я думаю, достаточно.

Итак, откроем Visual Studio 2013 File -> New Project.. и создадим новый проект. Назовем новый проект, например, BookStore. Затем в окне создания нового проекта выберем MVC. А в правой части окна изменим тип аутентификации приложения на No Authentication (так как пока нам система аутентификации не нужна):

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

Первым делом определим модели данных нашего приложения. Поскольку речь идет о книжном магазине, то такими моделями могут быть модель книги и модель покупки книги.

В проекте уже по умолчанию определена папка Models . В ней будут находиться наши модели. Нажмем на эту папку правой кнопкой мыши и в появившемся меню выберем Add->Class. . Назовем первый новый класс Book и добавим в него код, описывающий модель книги:

Конечно, в реальном приложении подобная модель могла бы также включать изображение книги, количество экземпляров, год издания и т.д. Но для нашей задачи вполне сойдет и этот набор полей.

Подобным образом второй класс — модель Purchase , которая будет отвечать за отдельную совершаемую покупку книги:

Условности при создании моделей

Как вы видите, модель представляет обычный класс на языке C#. Все модели здесь имеют набор свойств, описывающие реальные свойства объекта. В то же время при создании моделей следует соблюдать некоторые условности. Поскольку мы будем использовать для хранения моделей базу данных SQL Server, то для манипуляции над объектами в базе данных нам надо определить для них первичный ключ (Primary Key), который выполняет роль универсального идентификатора объекта. Поэтому первым свойством в каждой модели идет свойство Id, предназначенное для хранения первичного ключа.

И тут вступают в силу условности: свойство идентификатора модели должна иметь имя либо Имя_моделиId , либо просто Id . Так, у нас в модели Book определено свойство Id, то есть данное свойство является первичным ключом. А в случае с моделью Purchase свойство носит название PurchaseId.

Второй способ состоял в определении ключа с помощью атрибута Key, установленным над нужным свойством.

EntityFramework

Для работы с данными в ASP.NET MVC рекомендуется использовать фреймворк Entity Framework, хотя его использование необязательно и всецело зависит от предпочтений разработчика. Преимущество этого фреймворка состоит в том, что он позволяет абстрагироваться от структуры конкретной базы данных и вести все операции с данными через модель.

Сейчас наш проект не содержит библиотек EntityFramework. И чтобы их добавить в проект, воспользуемся пакетным менеджером NuGet. Итак, окне Solution Explorer (Обозреватель решений) нажмем правой кнопкой мыши в структуре проекта на узел References и в появившемся меню выберем Manage NuGet Packages.

В окне управления пакетами NuGet в правом верхнем углу введите в поле поиска EntityFramework и нажмите Enter. После этого в среднем столбце будут отображены все найденные пакеты, которые имеют отношение к запросу, а самым первым будет пакет самого фреймворка EntityFramework, который нам и надо установить:

Читайте также:  Нагревается ли вода в стиральной машине автомат

Запустим процесс установки пакета, нажав на кнопку Install.

Создание контекста данных

После завершения установки создадим контекст данных. Контекст данных использует EntityFramework для доступа к БД на основе некоторой модели. Итак, добавим в папку Models новый класс BookContext :

Чтобы создать контекст, нам надо унаследовать новый класс от класса DbContext. Свойства наподобие public DbSet Books < get; set; >помогают получать из БД набор данных определенного типа (например, набор объектов Book).

CodeFirst

Хотя мы будем использовать базу данных, но создавать явным образом мы ее не будем. За нас все сделает EntityFramework. Это так называемый подход Code First — у нас есть модели, и по ним фреймворк будет создавать таблицы в базе данных.

И в заключении работы над модельной частью установим строку подключения. Для этого откроем файл web.config , найдем секцию configSections и сразу после нее вставим секцию connectionStrings :

В этой секции мы определяем путь к базе данных, которая затем будет создаваться. Выражение |DataDirectory| представляет заместитель, который указывает, что база данных будет создаваться в проекте в папке App_Data . Позднее мы подробнее разберем настройки подключения к БД.

ASP.NET — это один из самых популярных фреймворков для разработки сайтов. Инфраструктура ASP.NET MVC 5 представляет собой последнюю версию веб-платформы ASP.NET от Microsoft. У неё есть множество преимуществ, которых нет в классической платформе для веб-разработки ASP.NET Web Forms.

Встроенные методы представлений генерируют ясный и соответствующий стандартам код разметки (HTML). Таким образом ASP.NET MVC 5 предлагает мощную систему маршрутизации URL, которая позволяет создавать удобочитаемые URL-адреса. Компоненты ASP.NET MVC расширяемы и тестируемы, она обеспечивает расширенную поддержку разработки через тестирование. Огромным преимуществом является также мощная полнофункциональная среда разработки — Microsoft Visual Studio.

Для платформы .NET на сегодняшний день существуют сотни тысяч бесплатных библиотек и компонентов, доступных для скачивания. Также присутствует удобная система документации и база данных чуть ли не по всем вопросам, которые могут возникнуть в процессе разработки (stackoverflow.com).

Можно сказать, что ASP.NET MVC вместе с экосистемой VisualStudio.NET является одним из самых совершенных, удобных и востребованных средств разработки сайтов.

Изучение платформы .NET позволит вам создавать не только веб-сайты, но и оконные, консольные приложения для разных ОС и устройств.

На мастер-классе вы узнаете о базовых принципах создания веб-приложений на платформе ASP.NET. Мы рассмотрим следующие темы:

Концепция MVC (модели, представления, и контроллеры);

Для чего нужно их разделять и как они взаимодействуют;

Движок представлений Razor;

Жизненный цикл ASP.NET MVC приложения;

Создание удобныx путей (URL) сайта;

Организация доступа к данным.

Мы рассмотрим процесс разработки простого MVC-приложения на примере. Перед просмотром рекомендую установить бесплатную полнофункциональную версию среды разработки Visual Studio Community 2015.

Всем привет. Сегодня открываем серию уроков по программированию на ASP.NET. Установим MVC 4 фреймворк и по традиции создадим первое приложение Hello World. В этой статье я опишу что необходимо установить для разработки веб-приложений на ASP.NET, какие компоненты и IDE можно использовать

Для начала устанавливаем Visual Studio 2010 или Web Developer 2010. Можно использовать 2012 версию Visual Studio. Я буду показывать на примере 2010. После этого идем по ссылке mvc4 и качаем онлайн инисталлятор или можете скачать оффлайн инсталлятор по ссылке чуть ниже standalone MVC 4 installer.

Читайте также:  Как настроить резкость на проекторе

Следующий шаг — создание приложения. Открываем Visual Stuido. В меню File (Файл) выберем пункт New Project… Откроется диалоговое окно создания проекта, в котором мы выберем шаблон ASP.NET MVC 4 Web Application

Далее перед нами откроется окно выбора шаблона нового приложения:

Выберем шаблон Internet Application. Давайте рассмотрим все шаблоны.

Шаблоны приложения MVC 4

  • Internet Application— шаблон представляет базовую функциональность, например, управление учетными записями, шаблоны для страниц и т.д..
  • Intranet Application — шаблон похож на предыдущий. Отличие — в Intranet Application для управления учетными записями используется аутентификация Windows, а не система ASP.NET Membership.
  • Empty- шаблон представляет чистое приложение без каких-либо файлов, моделей или контроллеров.
  • Basic —шаблон также представляет пустой проект. Правда, он содержит базовые каталоги, CSS, инфраструктуру приложения. В MVC 3 этот шаблон назывался Empty.
  • Mobile Application — новинка MVC 4, предназначенная для создания веб-приложений для мобильных платформ.
  • Web API — предназначен для работы с фреймворком Web API и для создания сервисов.

Кроме того, окно выбора шаблона приложения предлагает нам выбрать движок для рендеринга представления в секции View Engine.

При выборе движка рендеринга нам доступны две опции — движок Razor и ASPX (традиционный движок Web Forms). Выберем Razor. Razor позволяет начать со статического HTML-кода (или любого текстового содержимого), который постепенно становится динамическим, путем добавления серверного кода.Основная цель Razor — предоставить гибкий процесс кодирования и позволить быстро интегрировать серверный код в HTML-разметку с минимумом усилий.

Теперь мы можем посмотреть что получилось из готового шаблона Internet Application. Нажимаем кнопку OK и создаем новый проект. Мы сразу же можем запустить проект на выполнение и посмотреть что вышло в итоге:

Структура проекта MVC 4 в Visual Stuido

Давайте теперь пройдемся по структуре приложения и выведем наше сообщение Hello World.

В окне Solution Explorer (Обозреватель решений) в Visual Studio мы можем увидеть структуру проекта MVC 4.

App_Data

В этой папке хранятся все необходимые файлы и ресурсы, например, базы данных, используемые приложением.

Файл Global.asax и папка App_Start

В mvc 4 была добавлена папка App_Start. Она включает весь функционал конфигурации приложения, который в предыдущих версиях содержался в файле Global.asax, а теперь перенесен в набор статичных классов, вызываемых в Global.asax. Эти статичные классы содержат некоторую логику инициализации приложения, выполняющуюся при запуске.

Файл Web.config

Файл конфигурации приложения, который находится в корневой папке приложения

Content

Содержит некоторые вспомогательные файлы, которые не включают код на c# или javascript, и которые устанавливаются вместе с приложением. Здесь обычно размещаются файлы стилей css, иконки, изображения и т.д. Здесь находиться файл Site.css, который содержит стили приложения, а также папку с темами, включающую стили css и изображения для определенных тем.

Controllers

Содержит контроллеры — классы, отвечающие за пользовательский ввод и вывод. MVC требует чтобы имя всех контроллеров оканчивалось на «Controller». По умолчанию здесь находятся два контроллера — HomeController и AccountController.

Папки Images и Scripts

Папки Images и Scripts содержат соответственно изображения и скрипты на JavaScript, используемые в приложении. По умолчанию эти папки уже содержат файлы, в частности, в папку Scripts уже помещены файлы библиотеки jQuery.

Читайте также:  Куда сохраняются файлы автокад при автосохранении

Models

Содержит модели, используемые приложением для манипуляции у управления данными. По умолчанию здесь определена одна модель — AccountModel, которая представляет отдельную учетную запись.

Views

Здесь размещаются представления. Представления группированы по папкам, каждая из котороых соответствует одному контроллеру. После получения и обработки запроса контроллер, отправляет одно из этих представлений, заполеннных некоторыми данными, клиенту. Кроме того, имеется папка общих для контроллеров представлений — папка Shared, используемая для обмена между контроллерами

Filters

Используется для хранения классов фильтров, таких как фильтры проверки подлинности,фильтры действий,фильтры результатов,фильтры исключений.

Давайте теперь модифицируем наше приложение так, чтобы оно выводило на главную страницу сообщение Hello World. В проекте открываем папку Controllers и находим HomeController. В нем описаны 3 действия, которые доступны пользователю — Index,About и Contact. Действие Index срабатывает, когда пользователь открывает стартовую страницу. Это нам вполне сгодиться для вывода сообщения. Смотрим что находиться внутри действия Index. Здесь заполняется динамический массив ViewBag для передачи данных в представление(View) и возвращается представление(return View();), которое связано с действием Index.

Представление, которое привязано к действию находиться в папке Views/ИмяКонтроллера/ИмяДействия. В нашем случае это — Views/Home/Index.cshtml.

ViewBag передается в представление и в представление из него считываются данные. Давайте найдем наш ViewBag в представлении, которое будет отображаться для действия Index. Открываем Index.cshtml.

В этой статье не будем рассматривать полностью структуру представления, а посмотрим вывод данных из ViewBag. Видим что содержимое ViewBag выводиться в тег @ViewBag.Message. Знак @ сигнализирует Razor движку что дальше идет код на ASP.NET, т.е. мы уже считываем переменные ASP.NET.

Теперь у нас есть два варианта как вывести Hello World на странице — это жестко прописать в представлении, либо получить из контроллера и вывести. Первый вариант подойдет, если наше значение Hello World не считывается из базы данных или откуда-либо еще, а всегда является статическим текстом. Второй вариант обычно используется для вывода данных из базы или из каких-либо других источников. Давайте попробуем оба способа. В первом случае просто находим тег

, удаляем его содержимое и пишем Hello World

Запускаем наше приложение и смотрим что получилось

Здесь все просто. Давайте теперь представим что мы не знаем какой текст будет выведен в представление и выведем Hello World из массива ViewBag(Представим что вместо Hello World каждый день будет выводиться новая надпись, что мы можем сделать, запрограммировав контроллер Home и его действие Index). Открываем контроллер Home и переходим в действие Index. Далее в массив ViewBag.Message записываем наш текст

В нашем простейшем случае не будем его считывать из базы данных ;), а просто запишем.

Теперь немного модифицируем представление. Открываем Index.cshtml и прописываем вывод данных из ViewBag в тег

И запускаем приложение. Видим что результат тот же

Итак мы рассмотрели 2 способа вывода сообщения на страницу — статический и динамический. В следующих статьях рассмотрим с вами как можно создавать свои действия для контроллеров, подробнее рассмотрим структуру представлений, контроллеров, моделей. Рассмотрим как можно создавать свои макеты для страниц, как обращаться к базе данных и многое другое. Подписывайтесь на статьи и вы не пожалеете &#128521;

Ссылка на основную публикацию
Смартфоны с флагманской камерой
Мощный, стильный флагманский смартфон — это не только полезный девайс, но и часть имиджа. Конечно, стоит флагман гораздо дороже, чем...
Симс 3 постоянно вылетает
Вылеты из игры могут быть обусловлены совершенно различными причинами. Здесь мы рассмотрим лишь те проблемы, которые встречаются у игроков чаще...
Симс фриплей новое обновление
The Sims FreePlay Отправьте любимых персонажей на романтическое свидание или помогите им открыть собственный бизнес в последнем обновлении «Изысканные обеды»!...
Смартфоны хонор в днс
Нет в наличии Нет в наличии Нет в наличии Нет в наличии Нет в наличии Нет в наличии Нет в...
Adblock detector