我有一个包含常规网页和API的网络应用程序。常规控制器在Controllers /中,API控制器在Controllers / API中。
在我的一个观点中,我可以致电
$.getJSON("/API/PRAXA/FO")
但这只适用于开发。在生产中,应用程序位于子目录中,因此我必须调用
$.getJSON("/DMR/API/PRAXA/FO")
如何在运行时正确地确定这一点,因此它在开发和生产中都有效?
我尝试使用
@Html.RouteLink("hiddenLink", "DefaultApi", new { action = "FO", controller = "PRAXA" }, new { id = "hiddenLink" })
但它的href
属性在两个环境中都为null。
答案 0 :(得分:1)
将UrlHelper.HttpRouteUrl
与控制器,操作和参数一起使用。
帮助程序将生成完整的URL,该URL可用于开发和生产。
$.getJSON('@Url.HttpRouteUrl("DefaultApi", new { action = "FO", controller = "PRAXA" } )')