Nhìn vào routes. Chúng xác định cách một url với các tham số sẽ được viết.
Nếu bạn tạo một ứng dụng MVC mới và xem tệp Global.asax.cs trong phần `RegisterRoutes(). bạn sẽ thấy một mục nhập.
routes.MapRoute(
"Default", // Route name
"{controller}/{action}/{id}", // URL with parameters
new { controller = "home", action = "index", id = UrlParameter.Optional } // Parameter defaults
);
Nhìn vào từng phần:
- "mặc định" là tên. Điều này chỉ phải là duy nhất cho mỗi tuyến đường bạn tạo.
- "{controller}/{action}/{id}" là mẫu bạn muốn sử dụng.
example.org/home/index?id=2
sẽ được viết example.org/home/index/2
thay vì
- mới {controller = "home", action = "index", id = UrlParameter.Optional} đang xác định mặc định nếu không có gì được chỉ định.
Vì vậy, con đường mà làm cho nó vì vậy nếu bạn đi đến example.org nó sẽ cho rằng bạn có nghĩa là example.org/home/index{id là tùy chọn}.
Làm việc từ đó, bạn có thể bắt đầu xem cách tạo tuyến đường của riêng mình.
Bây giờ, giải quyết câu hỏi của bạn câu trả lời ngắn là có bạn có thể làm cho URL trông giống như vậy, nhưng không thực sự. Bạn sẽ phải xác định một tuyến đường với một thông báo mặc định, và nó sẽ chỉ trông như thế nếu ai đó không chỉ định một thông báo. Bạn phải nói cho bộ điều khiển biết thông điệp là gì. Tôi rất tiếc, nhưng điều tốt nhất bạn có thể làm là xác định tuyến đường cung cấp cho bạn
/message/Hello%20World
và sử dụng chuỗi.thay thế khiến giao diện đẹp hơn ''/message/hello_world '
bạn đang nói bạn muốn có thông báo mặc định khi họ không nhập chuỗi truy vấn? Hoặc bạn muốn ẩn chuỗi truy vấn bất kể loại thư được gửi trên url ban đầu? –
Thứ hai, về cơ bản tôi muốn xử lý thông điệp (nó có thể là bất cứ điều gì) và không hiển thị nó trên url. – willvv