← Все вопросы

Чем ASP.NET MVC отличается от обычного ASP.NET?

Задан 15 месяцев назад277 просмотров2 ответа
6

Часто пишут отдельно «ASP.NET» и отдельно «ASP.NET MVC». Это разные вещи или одно и то же? И что вообще значит MVC в этом контексте?

2 ответа

13
✓ Принятый ответ — помог автору

ASP.NET MVC — это не отдельная технология, а один из стилей разработки внутри ASP.NET. Под «обычным ASP.NET» обычно имеют в виду старый Web Forms, и вот в чём разница.

Web Forms (старый подход):

  • Похож на десктоп: страницы .aspx, серверные контролы, события (Button_Click).
  • Прячет HTTP за абстракциями (ViewState, postback).
  • Меньше контроля над итоговым HTML.

MVC расшифровывается как Model-View-Controller и разделяет код на три части:

  • Model — данные и бизнес-логика.
  • View — представление (HTML, обычно через Razor).
  • Controller — принимает запрос и решает, что показать.
public class UsersController : Controller
{
    public IActionResult Index()
    {
        var users = _repo.GetAll();   // Model
        return View(users);           // отдаём во View
    }
}

Преимущества MVC: чёткое разделение ответственности, полный контроль над HTML, удобное тестирование, дружит с REST и современным фронтендом.

Итог: Web Forms vs MVC — это два разных подхода. Web Forms — легаси, новые проекты делают на MVC (или Razor Pages) поверх ASP.NET Core.

4

Короткая аналогия: Web Forms старается сделать вид, что веб — это десктоп с кнопками и событиями. MVC честно признаёт, что веб — это запрос/ответ, и аккуратно раскладывает код по полочкам (модель/вид/контроллер). Поэтому MVC проще тестировать и контролировать, особенно когда фронт делает отдельная команда.

Ваш ответ

Войдите, чтобы ответить на вопрос.
Поддержать проект