2017-10-14 62 views
0

我正在使用锚标签助手,其中大部分工作正常。我想清理是如何产生一个特定的URL,我的标签如下所示(请注意,类型是在这种情况下,多个id更具体的,而不是它的问题):作为RESTful链接的ASP.Net核心锚标签助手

<a asp-controller="SomeController" asp-action="SomeAction" asp-route-id="@Model.ID" asp-route-type="@someType"> 

我想获取类似如下的URL:

http://localhost:1234/SomeController/SomeAction/42/1 

而是我得到

http://localhost:1234/SomeController/SomeAction/42?type=1 

有没有什么办法让一个RESTful格式的 '额外' 参数(S),而不是一个GET字符串?我总是可以用更传统的方式修改路线或URL,但是如果我能做到这一点就好奇。

+0

这不是RESTful。 RESTful是关于资源和使用HTTP动词的动作。你只是在路径中嵌入另一个查询参数。 - 为配置您的路由,[请参阅关于路由的文档](https://docs.microsoft.com/en-us/aspnet/core/mvc/controllers/routing)。 – poke

回答

0

我会回答我自己的问题,希望它有利于别人。问题是我需要创建一个自定义路由,如下所示:

  routes.MapRoute(
       name: "newRoute", 
       template: "{controller=SomeController}/{action=SomeAction}/{id}/{type}"); 

对替代方法感兴趣,如果有更好的做法。