我确定这是骗子,但我找不到正确的答案。很简单。在我的应用程序中的视图上(如果重要的话,在一个区域内),我需要在项目根目录(/ api / settingscontroller)中获取webapi控制器的URL。

如何在视图中(通过剃须刀)获取此url,以便可以将其传递到javascript基因敲除视图模型中?

现在我有这个:

ko.applyBindings(new UserSettingsViewModel('api/settings/', userId));

并将该网址附加到我所在的位置。我要这个:
locahost:1234/api/settings/

但我得到这个:
localhost:1234/settings/api/settings/

网址中的第一个“设置”是我所在的区域。

最佳答案

@Url.HttpRouteUrl("NameOfRoute", { controller = "Settings" })

要么
@Url.RouteUrl("NameOfRoute", { httproute = "httproute", controller = "Settings" })

...至于routeName参数,我认为其用法可能取决于您是否使用属性路由。我相信MVC5和WebAPI2随附的属性路由要求命名您的WebAPI属性路由,以便能够使用UrlHelper生成它们(尽管它不需要命名您的MVC路由)。但是,如果使用传统路由,则可以省略第一个参数,而不必完全命名路由。

您正在寻找的可能重复项之一可能在这里:How do I generate a webapi url from an MVC view?

09-05 22:32
查看更多