Я пытаюсь сделать пользовательский маршрут, но я не могу заставить его работать и даже если все кажется хорошо, что всегда возвращает 404.MVC пользовательский маршрут дает 404
Так вот маршрут определен.
Он определен прежде, чем по умолчанию и в соответствии с отладчиком маршрута это маршрут, который попадает. (Matched Route: Game/{id}/{title})
routes.Add(
"GamesDefault",
new Route("Game/{id}/{title}",
new RouteValueDictionary(new { controller = "Games", action = "ShowGame" }),
new DefaultMvcRouteHandler(urlTranslator, urlFoundAction)));
Вот путь Im пытается достичь: /Game/5/test
И это декларация контроллера. GamesController
находится в папке Controllers, и его вид находится в Views/Games/showGames.cshtml
.
public GamesController()
{
}
public ActionResult ShowGames(int id, string title)
{
return View(title);
}
DefaultMvcRouteHandler не делает ничего интересного.
public class DefaultMvcRouteHandler : IRouteHandler
{
public IHttpHandler GetHttpHandler(RequestContext requestContext)
{
return new MvcHandler(requestContext);
}
}
маршрут по умолчанию работает без проблем, и я попробовал все, что я могу найти, как изменение названия маршрута поэтому оно не соответствует ни папки или что-нибудь подобное. Если у кого-нибудь есть идеи о том, что еще попробовать, я был бы очень благодарен.
Вы передаете значение маршрута по умолчанию «Игры» и «ShowGame», но ваш контроллер называется «GamesController» метод действия называется «ShowGames». –
omg, я знал, что это что-то вроде этого, но я просто не мог его найти, уже часами. большое спасибо –