0

因此,在我的 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 将参数作为路径而不是键值对?

(这似乎很明显,我敢肯定有人会告诉我这是一个重复的问题,但我已经用我知道的每个关键字搜索了这个问题,所以如果它已经存在,我很乐意从现有问题中得到答案.)

4

1 回答 1

0

这通常发生在控制器内部的方法具有错误的参数名称时。

Modules控制器内部,该View方法应定义为:

View(Guid GUID)
于 2016-12-30T23:17:44.763 回答