Lấy ví dụ về một câu hỏi Stack Overflow như thế này URL là:
so.com/questions/1142480/adding-redundant-information-to-a-mvc-route
Tuy nhiên, phần chức năng của URL là:
so.com/questions/1142480
Cách thức này đạt được bằng cách xác định lộ trình như sau:
routes.MapRoute(
"questions",
"questions/{id}/{title}",
new { controller = "Questions", action = "Details", title = "" });
Bạn sau đó tạo ra một liên kết đến nó như thế này:
<%= Html.RouteLink("Adding Redundant Information to a MVC Route",
new
{
controller = "Questions",
id = 1142480,
title = "adding-redundant-information-to-a-mvc-route"
}
)
%>
tôi sẽ tưởng tượng tựa đề URL được tạo ra từ tiêu đề thực tế bởi vỏ thấp, thay thế không gian với dấu gạch ngang và một vài thứ khác (thoát/tách các ký tự xấu).
Miễn là tuyến đường SEO của bạn xuất hiện trước bất kỳ tuyến đường phù hợp nào khác, tuyến đường SEO sẽ được sử dụng.
Đối hoàn chỉnh rõ ràng bộ điều khiển sẽ thực sự là như thế này:
public class QuestionsController : Controller
{
public ActionResult Details(int id)
{
// stuff for display - notice title is not used
}
}
Nguồn
2009-07-17 10:31:16
Chúc mừng, Điều đó đã làm điều đó :) – Damien
Vui vì tôi có thể giúp –