2013-03-20 2 views
0

Я пытаюсь сделать пользовательский маршрут, но я не могу заставить его работать и даже если все кажется хорошо, что всегда возвращает 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); 
    } 
} 

маршрут по умолчанию работает без проблем, и я попробовал все, что я могу найти, как изменение названия маршрута поэтому оно не соответствует ни папки или что-нибудь подобное. Если у кого-нибудь есть идеи о том, что еще попробовать, я был бы очень благодарен.

+0

Вы передаете значение маршрута по умолчанию «Игры» и «ShowGame», но ваш контроллер называется «GamesController» метод действия называется «ShowGames». –

+0

omg, я знал, что это что-то вроде этого, но я просто не мог его найти, уже часами. большое спасибо –

ответ

0

В соответствии с моим комментарием вы передаете неверные значения маршрута по умолчанию для значений controller и action.

Обновить маршрут как так:

routes.Add(
    "GamesDefault", 
    new Route("Game/{id}/{title}", 
    new RouteValueDictionary(new { controller = "GamesController", action = "ShowGames" }), 
    new DefaultMvcRouteHandler(urlTranslator, urlFoundAction))); 
Смежные вопросы