所以在我的RouteConfig中,我有一条看起来像这样的路线:
routes.MapRoute(
name: "Default",
url: "{controller}/{action}/{GUID}",
defaults: new { controller = "Home", action = "Index", GUID = UrlParameter.Optional }
);
我正在制作这样的链接:
@Html.RouteLink("Thing", new { controller = "Modules", action = "View", GUID = "27ACBB7C-075A-49BD-9B43-000EAE3E6B6F" })
我希望它创建以下链接:
<a href = ".../Modules/View/27ACBB7C-075A-49BD-9B43-000EAE3E6B6F">Thing</a>
但相反,我得到了:
<a href = ".../Modules/View?GUID=27ACBB7C-075A-49BD-9B43-000EAE3E6B6F">Thing</a>
如何让RouteLink将参数作为路径而不是键值对?
(这似乎很明显我确定有人会告诉我这是一个重复的问题,但我已经用我知道的每个关键字搜索了这个问题,所以我很乐意从现有问题中得到答案,如果它已经存在。)
答案 0 :(得分:0)
当控制器内的方法具有错误的参数名称时,通常会发生这种情况。
在Modules
控制器内,View
方法应定义为:
View(Guid GUID)