mvc4中的自定义路由

时间:2014-02-27 10:25:32

标签: asp.net-mvc asp.net-mvc-4 url-rewriting routing

我正在使用mvc4框架和.net framwork 4.5。我需要一个这样的网址:

www.examples.com/name注意:'名称'将动态更改

路由到同一页面。

我试过这样但是收到错误

我的行动方法是这样的:

public ActionResult Userlist(string status)
{
    return View();
}

路线配置

routes.MapRoute(
                 "user",
                "{status}",
                new { controller = "Home", action = "Userlist" }
            );

如何创建路由语法并将其重定向到控制器?

1 个答案:

答案 0 :(得分:2)

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

    // Add this route config
    routes.MapRoute(
        name: "Default_Userlist",
        url: "{status}",
        defaults: new { controller = "Home", action = "Userlist" },
        namespaces: new[] { "MyMvcProject.Controllers" }
    );

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

}

不要忘记将“MyMvcProject”替换为项目名称。

<强>问题

这是一种不好的做法,因为状态的值很容易导致与您的操作方法发生冲突。