gpt4 book ai didi

c# - 如何最好地链接到 API Controller

转载 作者:可可西里 更新时间:2023-11-01 09:02:02 25 4
gpt4 key购买 nike

链接到 Controller/A/<anId>我这样做:

@Html.ActionLink(anId, "Action", "Controller", new {id = anId})

操作带有 Resharper 下划线,我可以使用 F12 导航到它。

但是我有一个 api Controller 的链接:

@Html.ActionLink("API Version", "../api/controller/", new {id = anId})

这没有 resharper 导航选项,如果我重命名 Controller ,也不会重构。是否有更简洁的方法从 Razor View 链接到 APIController?特别是一位 Resharper 承认。

最佳答案

正如其他答案已经建议的那样,您可以像这样使用 Url.RouteUrl:

@Url.RouteUrl("DefaultApi", new {httproute= "", controller = "MyApiController"});

您也可以使用快捷方法 Url.HttpRouteUrl 代替,如下所示:

@Url.HttpRouteUrl("DefaultApi", new { controller = "MyApiController" })

"DefaultApi" 是创建新 WebApi 项目时的默认 Route 名称。此字符串应匹配您在 WebApiConfig.cs 文件中为 HttpRoute 提供的任何名称。

这两种解决方案只会帮助您生成路由的 URL,它们实际上不会为您生成 HTML 链接。您需要像这样使用它们:

<a href="@Url.HttpRouteUrl("DefaultApi", new { controller = "MyApiController" })">My Link Text</a>

如果您希望 Razor 为您生成 HTML anchor 标记,您可以改用此方法:

@Html.RouteLink("My Link Text", "DefaultApi", new { controller = "MyApiController" })

此方法提供了与用于常规 Controller /操作链接的@Html.ActionLink 非常相似的接口(interface)。

所有这些解决方案都允许通过点击来使用 ReSharper。

关于c# - 如何最好地链接到 API Controller ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18249535/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com