Возьмите следующее действие контроллера
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 });
}
если я назову его /Mycontroller/NextBySURNAME/ 12/Smith %20Simon
тогда он отлично работает (в этом случае запись редактирования 12) но
/Mycontroller/NextBySURNAME/12/20% Смит
дает мне 404
Теперь я знаю, что в некоторых случаях в моей проблемной области существенное значение имеет пробел в хвосте, поэтому я не просто хочу его обрезать. Итак, почему это нарушает мой маршрут?
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
);