ASP.NET MVC dành cho các nhà phát triển muốn chia tách mã máy khách từ mã máy chủ. Tôi đã muốn viết JavaScript, XHTML, CSS khách hàng có thể di chuyển từ máy chủ đến máy chủ (không liên quan đến công nghệ máy chủ). Khách hàng mất nhiều thời gian để phù hợp và kết thúc, do đó bạn sẽ muốn sử dụng chúng (và các thành phần phụ) cho nhiều máy chủ nhất có thể. Sự tách rời này cho phép máy chủ của bạn hỗ trợ bất kỳ công nghệ máy khách nào hỗ trợ HTTP và các dấu ngoặc nhọn (và/hoặc JSON) như WPF/Silverlight. Nếu không có ASP.NET MVC, bạn đã bị buộc vào một mối quan hệ thù địch với toàn bộ đội ngũ ASP.NET --- nhưng Scott Guthrie là một anh chàng lạnh lùng và đưa MVC vào bảng sau nhiều năm của người tiền nhiệm (và có lẽ chính Scott) gần như hoàn toàn tập trung vào để các lập trình viên Windows Forms viết các ứng dụng web.
Trước ASP.NET MVC, tôi đã xây dựng các ứng dụng ASP.NET chủ yếu dựa trên các tệp ASHX --- trình xử lý HTTP. Tôi có thể đảm bảo với bạn rằng không có cửa hàng Microsoft "thực" nào khuyến khích hành vi này. Nó là dễ dàng hơn từ một (khôn ngoan) quan điểm quản lý để dictate rằng tất cả các nhà phát triển của bạn sử dụng cách nhà cung cấp khuyến cáo sử dụng các công cụ của nhà cung cấp. Vì vậy, các cửa hàng CNTT được một hoặc hai năm sau sẽ yêu cầu bạn phải biết cách làm trước MVC. Điều này cũng có ích khi bạn có một hệ thống "cũ" để duy trì.
Nhưng, đối với trường màu xanh lá cây, đó là MVC tất cả các cách!
Xem thêm http://stackoverflow.com/questions/102558/biggest-advantage-to-using-asp-net-mvc-vs-web-forms?lq=1 – nawfal