2013-06-01 13 views
5

Mam kontroler o nazwie Registration i metody działania w nim jako następujące:nie można mapować trasę dla określonego kontrolera w MVC 4

public JsonResult GetReqs(GridSettings gridSettings, int rt) 
    { 
     ...//whatever 

     return Json(jsonData, JsonRequestBehavior.AllowGet); 
    } 

Więc dodałem trasę i teraz mój RouteConfig.cs jest tak :

public class RouteConfig 
{ 
    public static void RegisterRoutes(RouteCollection routes) 
    { 
     routes.IgnoreRoute("{resource}.axd/{*pathInfo}"); 

     routes.MapRoute(
      name: "RegReq", 
      url: "{Registration}/{GetReqs}/{rt}", 
      defaults: new { controller = "Registration", action = "GetReqs", rt = UrlParameter.Optional } 
     ); 

     routes.MapRoute(
      name: "Default", 
      url: "{controller}/{action}/{id}", 
      defaults: new { controller = "Home", action = "Index", id = UrlParameter.Optional } 
     );    
    } 
} 

jednak nie może uzyskać dostępu do parametru rt i metody działania GetReqs nie nazywa (i ustawić punkt przerwania na niego, ale nic się nie stało). Gdzie jest błąd?

Edit: przykład link Próbowałem: ~/Registration/GetReqs/1

Odpowiedz

6

myślę, że trzeba usunąć wsporniki w swojej pierwszej trasie:

routes.MapRoute(
      name: "RegReq", 
      url: "Registration/GetReqs/{rt}", 
      defaults: new { controller = "Registration", action = "GetReqs", 
       rt = UrlParameter.Optional } 
     ); 

Trasa domyślna ma {controller} powiedzieć MVC użyć ciąg w tej sekcji adresu URL jako nazwa kontrolera. Znasz kontroler, więc musisz tylko dopasować określony ciąg.

+0

Naprawiono! wielkie dzięki – AminSaghi

Powiązane problemy