Nếu tôi điều hướng đến URL stackoverflow sau http://stackoverflow.com/questions/15532493
nó sẽ tự động nối với tiêu đề của câu hỏi như vậy:Stackoverflow URL phong cách (tùy URL đi)
http://stackoverflow.com/questions/15532493/mvc-custom-route-gives-404
Đó là, tôi có thể gõ địa chỉ URL vào trình duyệt của tôi mà không cần tiêu đề câu hỏi và nó được nối tự động.
Tôi làm cách nào để đạt được kết quả tương tự trong đơn đăng ký của mình? (Lưu ý: Tôi biết rằng tiêu đề câu hỏi không ảnh hưởng đến trang được hiển thị).
Tôi có bộ điều khiển được gọi là Users
với phương thức hành động được gọi là Details
. Tôi có định tuyến sau được xác định:
routes.MapRoute("UserRoute",
"Users/{*domain}",
new { controller = "User", action = "Details" },
new { action = "^Details$" });
Vì đây là ứng dụng mạng nội bộ người dùng được xác thực dựa vào tài khoản Windows của họ. Tôi muốn nối thêm tên miền và tên người dùng vào URL.
Nếu tôi tạo ra các URL trong giao diện như sau:
@Html.ActionLink("Model.UserName", "Details", "User", new { domain = Model.Identity.Replace("\\", "/") })
tôi nhận được một URL mà trông như thế này:
Domain/Users/ACME/jsmith
Tuy nhiên, nếu người dùng điều hướng đến URL Domain/Users/
bằng cách sử dụng thanh điều hướng trình duyệt, nó khớp với tuyến đường và người dùng được đưa đến trang chi tiết người dùng. Tôi muốn nối thêm ACME/jsmith/
vào URL trong trường hợp này.
Các nghiên cứu tôi đã làm cho đến nay chỉ ra tôi có thể phải thực hiện một đối tượng đường tùy chỉnh bằng cách bắt nguồn từ RouteBase
và thực hiện các phương pháp GetRouteData
và GetVirtualPath
nhưng tôi không biết bắt đầu từ với điều này nơi (các documentaiton MSDN là rất mỏng) .
Vì vậy, những gì tôi muốn biết là:
- Có cách nào để đạt được điều này mà không thực hiện một lộ trình tùy chỉnh?
- Nếu không, có ai biết về bất kỳ tài nguyên tốt nào để tôi bắt đầu triển khai tuyến đường tùy chỉnh không?
- Nếu triển khai tuyến đường tùy chỉnh là bắt buộc, làm cách nào để có được thông tin mà có lẽ phải được tải từ cơ sở dữ liệu? Là nó OK để có một dịch vụ làm cho các cuộc gọi cơ sở dữ liệu trong một tuyến đường (mà có vẻ sai với tôi) hoặc có thể thông tin được chuyển đến các tuyến đường của khuôn khổ MVC?
http://stackoverflow.com/questions/25259/how-does-stackoverflow-generate-its-seo-friendly-urls –
@ Soner Gönül - Câu hỏi được liên kết cho thấy 'cách tạo ra-chuỗi-như-cái này' không phải là điều tôi đang hỏi. Tôi muốn nối các giá trị vào url nếu người dùng chỉ nhập bit 'Domain/Users /' trong thanh điều hướng của trình duyệt. –
Nó không thực sự là một bản sao kể từ khi ông không yêu cầu LÀM THẾ NÀO để tạo ra chuỗi tiêu đề, nhưng thay vì làm thế nào để luôn luôn chuyển hướng đến một trang mà tiêu đề là trong URL ngay cả khi người dùng đã có chỉ bằng cách nhập id – tucaz