× Giới thiệu Lịch khai giảng Tin tức Sản phẩm học viên

Area trong ASP.NET MVC và cách tạo nhanh

30/11/2023 01:22

Tại đây, bạn sẽ tìm hiểu area trong ứng dụng ASP.NET MVC là gì và cách tạo area đó. một area có thể chứa cấu trúc thư mục MVC riêng cho tất cả các mô-đun này, như được hiển thị bên dưới.

Ứng dụng ASP.NET MVC lớn bao gồm nhiều bộ điều khiển, khung nhìn và các lớp mô hình. Vì vậy, có thể khó duy trì nó với cấu trúc dự án ASP.NET MVC mặc định. ASP.NET MVC đã giới thiệu một tính năng mới gọi là Area cho việc này. area cho phép chúng ta phân vùng ứng dụng lớn thành các đơn vị nhỏ hơn trong đó mỗi đơn vị chứa cấu trúc thư mục MVC riêng biệt, giống như cấu trúc thư mục MVC mặc định. Ví dụ: một ứng dụng doanh nghiệp lớn có thể có các mô-đun khác nhau như quản trị viên, tài chính, nhân sự, tiếp thị, v.v. Vì vậy, một area có thể chứa cấu trúc thư mục MVC riêng cho tất cả các mô-đun này, như được hiển thị bên dưới.

Tạo một area

Add -> Area.., như được hiển thị bên dưới.

Chọn Add Area, admin vào thư mục Area, Areregistration., 

Sau đây là lớp adminAreaRegistration được tạo với area quản trị.

Ví dụ: Đăng ký area
public class adminAreaRegistration : AreaRegistration 
{
    public override string AreaName 
    {
        get 
        {
            return "admin";
        }
    }

    public override void RegisterArea(AreaRegistrationContext context) 
    {
        context.MapRoute(
            "admin_default",
            "admin/{controller}/{action}/{id}",
            new { action = "Index", id = UrlParameter.Optional }
        );
    }
}

AreaRegistration ghi đè phương thức RegisterArea để ánh xạ các tuyến đường cho area. Trong ví dụ trên, mọi URL bắt đầu bằng quản trị viên sẽ được xử lý bởi bộ điều khiển có trong cấu trúc thư mục quản trị viên trong thư mục Area. Ví dụ: http://localhost/admin/profile sẽ được xử lý bởi bộ điều khiển hồ sơ có trong thư mục Areas/admin/controller/ProfileController.

Application_Start trong Global.asax.cs dưới dạng AreaRegistration.RegisterAllAreas();.

Vì vậy, bằng cách này, bạn có thể tạo và duy trì nhiều area cho ứng dụng lớn.