当前位置 : 主页 > 网络编程 > ASP >

asp.net-mvc – asp.net mvc5 webapi2,如何通过razor语法获取我的webapi url?

来源:互联网 收集:自由互联 发布时间:2021-06-24
我确信这是一个骗局,但我找不到正确的答案.这很简单.在我的应用程序中的视图(如果重要的话,在区域内)我需要获取项目根目录中的webapi控制器的URL(/ api / settingscontroller). 如何在视图中
我确信这是一个骗局,但我找不到正确的答案.这很简单.在我的应用程序中的视图(如果重要的话,在区域内)我需要获取项目根目录中的webapi控制器的URL(/ api / settingscontroller).

如何在视图中获取此URL(通过剃刀),以便将其传递到javascript敲门视图模型中?

现在我有这个:

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

将该URL添加到我所在的位置.我要这个:

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?

网友评论