繁体   English   中英

.net HTML.RouteLink将参数作为键值对而不是rout传递

[英].net HTML.RouteLink passes parameter as key-value pair not rout

所以在我的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将参数作为路径而不是键值对放置?

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

当控制器内部的方法的参数名称错误时,通常会发生这种情况。

Modules控制器中, View方法应定义为:

View(Guid GUID)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM