ASP.NET Core sử dụng CamelCase-Routes như http://localhost:5000/DashboardSettings/Index theo mặc định. Nhưng tôi muốn sử dụng các tuyến đường thường, được phân tách bằng dấu gạch ngang: http://localhost:5000/dashboard-settings/index Chúng phổ biến và nhất quán hơn, khiến ứng dụng của tôi mở rộng trang web chạy Wordpress, cũng có url chữ thường với dấu gạch ngang.Tự động tạo các đường nét chữ thường trong ASP.NET Core
Tôi đã học được rằng tôi có thể thay đổi các url thành chữ thường sử dụng định tuyến lựa chọn:
services.ConfigureRouting(setupAction => {
setupAction.LowercaseUrls = true;
});
này hoạt động nhưng đã cho tôi url mà không cần bất kỳ dấu phân cách như http://localhost:5000/dashboardsettings/index mà là nặng có thể đọc được. Tôi có thể xác định các tuyến đường tùy chỉnh bằng cách sử dụng thuộc tính tuyến đường như
[Route("dashboard-settings")]
class DashboardSettings:Controller {
public IActionResult Index() {
// ...
}
}
Nhưng điều đó gây ra thêm công việc và dễ xảy ra lỗi. Tôi thích một giải pháp tự động tìm kiếm các ký tự chữ hoa, chèn dấu gạch ngang trước chúng và tạo chữ thường viết hoa. Đối với ASP.NET cũ này không phải là một vấn đề lớn, nhưng trên ASP.NET Core tôi thấy không có hướng làm thế nào để xử lý này.
Làm cách nào để thực hiện việc này tại đây? Tôi cần một số loại giao diện, nơi tôi có thể tạo ra các url (như cho người trợ giúp thẻ) và thay thế CamelCase bằng dấu gạch ngang-dấu phân cách. Sau đó, tôi cần một loại giao diện khác để định tuyến, do đó các url phân tách dấu gạch ngang được chuyển đổi thành CamelCase để khớp chính xác với các tên điều khiển/hành động của tôi.
Ngoài ra câu trả lời: https://stackoverflow.com/a/42050471/195755 – yzorg