【问题标题】:ASP.Net Core anchor tag helper as RESTful linksASP.Net Core 锚标记助手作为 RESTful 链接
【发布时间】:2017-10-14 06:36:29
【问题描述】:

我正在使用锚标记助手,它在大多数情况下都可以正常工作。我想清理正在生成的特定 URL,我的标签看起来像这样(请注意,在这种情况下 type 比 id 更具体,并不重要):

<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 格式而不是 GET 字符串获取“附加”参数?我总是可以以更传统的方式修改路由或 URL,但我很好奇我是否可以做到这一点。

【问题讨论】:

  • 这不是 RESTful。 RESTful 是关于资源和使用 HTTP 动词进行操作的。您只是在路径中嵌入了另一个查询参数。 – 用于配置您的路线,see the documentation about routing.

标签: asp.net asp.net-core asp.net-core-tag-helpers


【解决方案1】:

我会回答我自己的问题,希望对其他人有所帮助。问题是我需要创建一个自定义路由,如下所示:

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

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2019-07-10
    • 1970-01-01
    • 2021-09-04
    • 1970-01-01
    • 2017-02-27
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多