Asp.net mvc 3 MVC3地图路线,如何

Asp.net mvc 3 MVC3地图路线,如何,asp.net-mvc-3,url,routing,Asp.net Mvc 3,Url,Routing,我正在考虑在MVC3应用程序中创建一些新路由。我想要的是一条路线,它将允许我生产: {clientname}/{controller}/{action}/{id} 我不确定是否应该使用对象默认值参数。您可以添加以下路由定义: routes.MapRoute( "ClientRoute", "{clientname}/{controller}/{action}/{id}", new { controller = "Home", action = "Index", id =

我正在考虑在MVC3应用程序中创建一些新路由。我想要的是一条路线,它将允许我生产:

{clientname}/{controller}/{action}/{id}

我不确定是否应该使用对象默认值参数。

您可以添加以下路由定义:

routes.MapRoute(
    "ClientRoute",
    "{clientname}/{controller}/{action}/{id}",
    new { controller = "Home", action = "Index", id = UrlParameter.Optional }
);
因为
clientname
在开头,所以它是一个强制值。它必须始终指定且不能为空

例如,如果生成锚定:

@Html.ActionLink("link text", "Foo", new { clientname = "bar" })
它将产生以下输出:

<a href="/bar/Home/Foo">link text</a>