tuyến ASP.NET MVC có tên khi ánh xạ:Làm thế nào tôi có thể nhận được tên tuyến đường trong bộ điều khiển trong ASP.NET MVC?
routes.MapRoute(
"Debug", // Route name -- how can I use this later????
"debug/{controller}/{action}/{id}",
new { controller = "Home", action = "Index", id = string.Empty });
Có cách nào để có được những tên đường, ví dụ "Gỡ lỗi" trong ví dụ trên? Tôi muốn truy cập nó trong OnActionExecuting của bộ điều khiển để tôi có thể thiết lập nội dung trong ViewData khi gỡ lỗi, ví dụ, bằng cách đặt trước một URL với/debug/...
Giải pháp thay thế tuyệt vời, mặc dù nó có vẻ như một sự giám sát mà MVC không cấp quyền truy cập vào nó. Bạn nói đúng - bạn có thể tạo liên kết tuyến đường bằng cách chỉ định tên, vì vậy nó được lưu trữ ở đâu đó :-) –
Đây không phải là mục đích của tên tuyến đường ngay từ đầu. Tên có nghĩa là cung cấp một chỉ mục khi tạo một URL bằng cách sử dụng Định tuyến cho phép bạn chỉ định lộ trình sử dụng. DataTokens thực sự là đúng cách để làm điều đó. Ví dụ: giả sử bạn có nhiều tuyến đường "Gỡ lỗi". Bạn không thể sử dụng tên cho nó anyways. Nhưng bạn luôn có thể tạo mã thông báo dữ liệu của riêng mình. Định tuyến bỏ qua các thẻ dữ liệu nhưng chuyển chúng đi cùng để mã của bạn có thể thực hiện việc giải thích ý nghĩa của chúng. – Haacked
vẫn là giám sát vì hai lý do: thứ nhất, mọi người dường như thấy nó hữu ích và thứ hai, tại sao MapRoute lấy tên làm đối số nhưng khi xây dựng một tuyến mới với một hàm tạo không có đối số Tên trong đó. – mare