Lấy controller action sauTại sao một dấu% 20 (dữ liệu hợp lệ trong trường hợp này) giết asp.net MVC định tuyến
public ActionResult NextBySURNAME(int id, string data)
{
//code to process the data and edit the id accoringly not written yet
return RedirectToAction("Edit", new { id = id });
}
nếu tôi gọi nó với /MyController/NextBySURNAME/12/Smith% 20Simon
sau đó nó hoạt động tốt (trong này ghi lại chỉnh sửa trường hợp 12) nhưng
/MyController/NextBySURNAME/12/Smith% 20
mang lại cho tôi một 404
Bây giờ tôi biết rằng trong một số trường hợp trong khoảng trắng của miền có vấn đề của tôi có ý nghĩa quan trọng, vì vậy tôi không chỉ muốn cắt nó. Vậy tại sao điều này lại phá vỡ tuyến đường của tôi?
routes.MapRoute(
"Default", // Route name
"{controller}/{action}/{id}/{data}", // URL with parameters
new { controller = "Home", action = "Index", id = UrlParameter.Optional, data=UrlParameter.Optional } // Parameter defaults
);
Robert: Tôi biết * mã * xảy ra là C# nhưng vấn đề về dấu vết% 20 phá vỡ định tuyến là (có thể) không cụ thể cho ngôn ngữ. Tôi không muốn gắn thẻ cho C# – Andiih
Chà, chỉ cần thử nó, điều đó thật thú vị ... – Aren
@Andiih & Robert: '.net' có thể là thẻ mô tả hơn' C# ', tuy nhiên tôi đã tìm thấy câu hỏi này vì tôi đang tìm kiếm 'C#' – Aren