ASP.NET MVC Framework - это платформа и инструменты для веб-приложений с открытым исходным кодом, которые реализуют версию шаблона model-view-controller (MVC), адаптированную к веб-приложениям и основанную на технологии технологии ASP.NET.

Microsoft ASP.NET MVC Framework - это фреймворк и инструмент веб-приложений с открытым исходным кодом, который реализует версию шаблона модель-представление-контроллер (MVC), адаптированную к веб-приложениям.

ASP.NET MVC Framework предоставляет альтернативу ASP.NET WebForms Framework для создания веб-приложений и является более легкой и тестируемой средой, чем ее двоюродная сестра WebForms, даже если они обе основаны на одной базовой ASP.NET Foundation. Он использует существующие функции ASP.NET и в более поздних версиях стал более унифицированным с веб-формами благодаря инициативе Microsoft "One ASP.NET". Инфраструктура MVC определяется в сборке System.Web.Mvc.

Релизы также имеют тенденцию включать в себя дополнительные технологии, такие как Razor View Engine, Web Optimization Framework, ASP.NET WebAPI, а также такие инструменты, как Scaffolding и интеграция в Visual Studio.

Архитектурный паттерн Model-View-Controller, на котором основан ASP.NET MVC, разделяет приложение на три основных компонента: модель, представление и контроллер. Причиной такого разделения является обеспечение более чистой общей архитектуры при одновременном повышении удобства обслуживания. Эту концепцию часто называют "разделением интересов".

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

Начиная с версии ASP.NET MVC 4, Microsoft поставляла фреймворк как с конкретной версией Visual Studio, так и через систему управления пакетами Nuget. Этот метод управления пакетами позволяет создавать более простые выпуски "вне полосы" (версии, не привязанные к определенной версии Visual Studio), а также выпуск большего количества модулей, чтобы можно было выбирать, включать или не включать подкомпоненты (ASP.NET WebApi например).

Последние объявления от Microsoft, касающиеся ASP.NET MVC, обычно поступают из блога .NET Web Development and Tools, блога Visual Studio Blog или .NET Framework Blog. Другими известными блогами, относящимися к MVC, являются блог Скотта Гатри, ASP.NET Скотта Хансельмана и блог Имрана Балоча.

Если у вас нет веских причин не делать этого, старайтесь поддерживать текущую версию MVC. В новых версиях есть исправления ошибок, а также новые функции. Сегодня нет смысла создавать новые проекты с использованием более старых версий MVC. Первое, что вы должны сделать после создания нового проекта, это открыть диспетчер пакетов NuGet и применить все обновления (за исключением, возможно, jQuery 2.x. Если вам нужна совместимость со старыми браузерами, оставайтесь с последней версией jQuery 1.x, которая совместима с линией 2.x).

Версии, поставляемые с Visual Studio

  • Visual Studio 2017 - ASP.NET MVC 5.2.3 - ASP.NET Core MVC 1.1.2
  • Visual Studio 2015 - ASP.NET MVC 5.2.0
  • Visual Studio 2013 - ASP.NET MVC 5.1.0
  • Visual Studio 2012 - ASP.NET MVC 5.0.0
  • Visual Studio 2010 - ASP.NET MVC 2 (нет точных выпусков)
  • Visual Studio 2008 - нет (MVC был выпущен после 2008 года)

Требования к версии

  • MVC 5.x - Visual Studio 2012 - CLR 4.0 - Framework 4.5
  • MVC 4 - Visual Studio 2010 - CLR 4.0 - Framework 4.0
  • MVC 3 - Visual Studio 2010 - CLR 4.0 - Framework 4.0
  • MVC 2 - Visual Studio 2008 - CLR 2.0
  • MVC 1 - Visual Studio 2008 - CLR 2.0

Текущие выпуски (доступны через NuGet) * Стабильная версия 5.2.3 (9 февраля 2015 г.)

Рекомендации

Часто задаваемые вопросы (FAQ)

Обратите внимание, что большинство вопросов, которые могут относиться к конкретной версии ASP.NET MVC, скорее всего, также относятся и к более новым версиям. Так что, если вопрос говорит MVC3, это, вероятно, также относится к MVC4 и MVC5.x, и т.д.

Учебники (высококачественные внешние статьи на часто задаваемые темы)