Asp.net mvc 我应该如何使用Url.Action(在ASP.NET MVC 3中)将静态值添加到路由的末尾?

Asp.net mvc 我应该如何使用Url.Action(在ASP.NET MVC 3中)将静态值添加到路由的末尾?,asp.net-mvc,static,asp.net-mvc-3,url-routing,url.action,Asp.net Mvc,Static,Asp.net Mvc 3,Url Routing,Url.action,我有这条路线: routes.MapRoute(null, "Users/{id}/Summary", new { controller = "Users", action = "GetSummary" }); 如何使用Url.Action指定此操作 我目前正在使用: string path = Url.Action("Index", "Users", new { id = user.Id } ) + "/Summary"; 有更干净的方法吗?这不管用吗 Url.Action("GetSu

我有这条路线:

routes.MapRoute(null, "Users/{id}/Summary", new { controller = "Users", action = "GetSummary" });
如何使用Url.Action指定此操作

我目前正在使用:

string path = Url.Action("Index", "Users", new { id = user.Id } ) + "/Summary";
有更干净的方法吗?

这不管用吗

 Url.Action("GetSummary", "Users", new { id = user.Id })
路由引擎应该能够根据您的路由表将其转换为正确的URL。

这不起作用吗

 Url.Action("GetSummary", "Users", new { id = user.Id })

路由引擎应该能够根据您的路由表将其转换为正确的URL。

当操作是
GetSummary
时,为什么要使用
Index

string path = Url.Action("GetSummary", "Users", new { id = user.Id } );
你可能想给你的路线起个名字

routes.MapRoute("GetSummary", "Users/{id}/Summary", 
    new 
    {
        controller = "Users", 
        action = "GetSummary" 
    });

当操作是
GetSummary
时,为什么要使用
Index

string path = Url.Action("GetSummary", "Users", new { id = user.Id } );
你可能想给你的路线起个名字

routes.MapRoute("GetSummary", "Users/{id}/Summary", 
    new 
    {
        controller = "Users", 
        action = "GetSummary" 
    });

为什么给路由一个空名称?这对你有什么影响吗?我以前从未见过这种情况。我还建议您使用T4MVC,因为它将消除所有这些神奇的字符串和匿名类?这对你有什么影响吗?我以前从未见过这种情况。我还建议您使用T4MVC,因为它将消除所有这些神奇字符串和匿名类。MVCContrib还提供了一种简单的路由测试方法,它在所有这些方法的基础上添加了一个良好的健全性检查。MVCContrib还提供了一种简单的路由测试方法,它在所有这些方法的基础上添加了良好的健全性检查。