在mvc 3中路由emeguity

时间:2014-03-31 11:25:57

标签: asp.net asp.net-mvc asp.net-mvc-routing

我定义了以下路线

          public static void RegisterRoutes(RouteCollection routes)
    {
        routes.IgnoreRoute("{resource}.axd/{*pathInfo}");
        routes.MapRoute(
 "portfolios", // Route name
 "{controller}/{name}", // URL with parameters
 defaults: new { controller = "portfolio", action = "portolio"} // Parameter defaults

);

我希望将网址显示为www.abc/portfolio/nameofportfolio

并且路线正常工作,网址以正确的模式显示。

问题 但是当我打电话时

        www.abc/portfolio/create

它再次路由到上面的动作,而不是在controller.can中调用create action。有些机构告诉我解决这个问题 此致

1 个答案:

答案 0 :(得分:1)

请按以下方式修改您的代码:

    public static void RegisterRoutes(RouteCollection routes)
    {
        routes.IgnoreRoute("{resource}.axd/{*pathInfo}");
        routes.MapRoute(
        "portfolios", // Route name
        "{controller}/{action}/{id}", // URL with parameters
        defaults: new { controller = "portfolio", action = "portolio",id = UrlParameter.Optional} // Parameter defaults
    }

您的代码中的问题是您未在url参数中指定操作