Trong các ứng dụng ASP.NET không sử dụng nền tảng MVC, sự tương tác của người dùng được tổ chức theo các trang và theo việc phát ra và quản lý các sự kiện của trang và các điều khiển trên trang đó. Để so sánh, thì với các mô hình MVC, sự tương tác với người dùng được tổ chức theo các controllers và các action của chúng. Lớp controller sẽ định nghĩa các phương thức action. Các controller có thể có bao nhiêu action tùy nhu cầu.
Các phương thức action thường được ánh xạ 1-1 với các tương tác của người dùng. Ví dụ như người dùng điền một URL vào trình duyệt, hoặc nhấn vào một liên kết, hoặc gởi lên một form. Các tương tác nói trên tạo ra request được gởi lên cho server. Khi đó, URL của request được gởi lên sẽ có các thông tin mà nền tảng MVC sẽ sử dụng để tìm kiếm và thực thi phương thức action.
Khi người dùng gõ một URL vào trình duyệt, ứng dụng MVC sẽ sử dụng các quy tắc định tuyến (routing rules) được định nghĩa ở tập tin Global.asax để phân tích URL và xác định đường dẫn của controller. Sau đó controller sẽ xác định action tương ứng để xử lý request. Ví dụ như, trong trường người dùng gõ vào địa chỉ URL là http://d.jou.vn/Products/Index thì đường dẫn con là /Products/Detail/5. Tuyến mặc định (default routing) sẽ xem Products như là phần tiền tố của tên controller, nghĩa là controller được chọn có tên là ProductsController. Và “Detail” được xem như là tên của action, như vậy thì phương thức Detail của ProductsController sẽ được thực thi để xử lý request. Theo tuyến mặc định, thì giá trị “5” trong URL sẽ được truyền vào phương thức Detail như là một
tham số.
public class MyController : Controller {
public ActionResult HelloWorld() {
ViewBag.Message = "Hello World!"; return View();
} }