1. Что такое ASP.NET MVC?

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

2. Объясните MVC (Model-View-Controller) в целом?

MVC (Model-View-Controller) — это архитектурный шаблон программного обеспечения, который в основном разделяет различные компоненты веб-приложения. Используя шаблон MVC, мы можем разрабатывать приложения, которые более гибки к изменениям, не затрагивая другие компоненты нашего приложения.

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

3. Разница между ASP.NET MVC и ASP.NET WebForms?

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

4. Каковы основные функции ASP.NET MVC?

Основные функции платформы ASP.NET MVC:

Четкое разделение задач приложения (представление и бизнес-логика). Это снижает сложность, что делает его идеальным для крупномасштабных приложений, в которых работает несколько команд.

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

Он обеспечивает обширную поддержку маршрутизации URL-адресов, которая помогает создавать удобные URL-адреса (то есть дружественные как для человека, так и для поисковых систем).

Он поддерживает подход Test Driven Development (TDD). В ASP.NET WebForms поддержка тестирования зависит от веб-сервера, но ASP.NET MVC делает ее независимой от веб-сервера, базы данных или любых других классов.

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

5. Не могли бы вы объяснить поток запросов в среде ASP.NET MVC?

Поток запросов для платформы ASP.NET MVC выглядит следующим образом:

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

6. В чем разница между ViewData, ViewBag и TempData?
Чтобы передавать данные из контроллера в представление и в следующем последующем запросе, платформа ASP.NET MVC предоставляет различные параметры, т. е. ViewData, ViewBag и TempData.

И ViewBag, и ViewData используются для связи между контроллером и соответствующим представлением. Но это сообщение предназначено только для вызова сервера, оно становится нулевым, если происходит перенаправление. Короче говоря, это механизм для поддержания состояния между контроллером и соответствующим представлением.

ViewData — это объект словаря, а ViewBag — это динамическое свойство (новая функция C# 4.0). ViewData, будучи объектом словаря, доступен с использованием строк в качестве ключей, а также требует приведения типов для сложных типов. С другой стороны, ViewBag не поддерживает приведение типов и проверку нулей.

TempData также является объектом словаря, который остается на время HTTP-запроса. Таким образом, Tempdata можно использовать для хранения данных между редиректами, то есть с одного контроллера на другой.

7. Объясните роль модели в ASP.NET MVC?
Одна из основных функций ASP.NET MVC заключается в том, что она отделяет ввод и логику пользовательского интерфейса от бизнес-логики. Роль модели в ASP.NET MVC состоит в том, чтобы содержать всю логику приложения, включая проверку, бизнес-логику и логику доступа к данным, за исключением представления, т. е. ввода и контроллера, т. е. логики пользовательского интерфейса.

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

8. Объясните, в чем разница между представлением и частичным представлением?

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

Частичное представление
Не содержит страницы макета.
Частичное представление не проверяет наличие viewstart.cshtml. Мы не можем поместить общий код для частичного представления в viewStart.cshtml.page.
Частичное представление разработано специально для рендеринга внутри представления и именно поэтому оно не содержит никакой разметки.
Мы можем передать обычное представление в метод RenderPartial.

9. Что такое Razor в MVC?

ASP.NET MVC всегда поддерживал концепцию «механизмов просмотра» — подключаемых модулей, которые реализуют различные параметры синтаксиса шаблона. Механизм представления «по умолчанию» для ASP.NET MVC использует тот же .aspx/.ascx/. шаблоны мастер-файлов в виде веб-форм ASP.NET. Другими популярными механизмами представлений ASP.NET MVC являются Spart&Nhaml.
В MVC 3 представлен новый механизм представлений под названием Razor.

10.Почему Razor?

Компактность и выразительность.
Razor сводит к минимуму количество символов и нажатий клавиш, необходимых в файле, и обеспечивает быстрый рабочий процесс кодирования. В отличие от большинства синтаксисов шаблонов, вам не нужно прерывать кодирование, чтобы явно обозначить серверные блоки в вашем HTML. Парсер достаточно умен, чтобы вывести это из вашего кода. Это обеспечивает действительно компактный и выразительный синтаксис, который является чистым, быстрым и интересным для ввода.
Простота в освоении: Razor прост в освоении и позволяет быстро повысить производительность с минимальными усилиями. Мы можем использовать все ваши знания языка и HTML.
Работает с любым текстовым редактором: Razor не требует специального инструмента и позволяет продуктивно работать в любом обычном текстовом редакторе (блокнот отлично работает).
> Обладает отличным интеллектом:
Возможность модульного тестирования: новая реализация механизма представлений будет поддерживать возможность модульного тестирования представлений (без контроллера или веб-сервера, и может быть размещена в любом проекте модульного тестирования — без специального домена приложения). обязательный).

Познакомьтесь с экспертами для лучшего руководства: https://nareshit.com/asp-net-mvc-online-training/