我确定已经多次询问过这个问题,但我遇到的问题的一个例子是asked about here.
基本上,如果我对/Controller/Action
进行了ajax调用,如果我使用localhost/Controller/Action
的本地开发服务器,则可以正常工作。
如果我发布到UAT,则网址需要更多信息。它现在是server/application/Controller/action
,这显然打破了我的ajax电话。
<%: Url.Action("MyAction") %>
解决了这个问题,但在单独的javascript文件的上下文中并不存在。
目前,我有一个javascript变量&#39; urlPrefix&#39;在我的app.js文件中,每当我在本地调试或发布到不同的服务器时,我必须在""
和"applicationName"
之间进行更改。
解决这个问题的最简单方法是什么?
答案 0 :(得分:0)
您可以使用:
@Url.Content("~")
解决应用程序的根路径,因此无需在部署之间进行更改。
实现此目的的一种方法是将以下内容添加到_layouts中的<head>
:
<script type="text/javascript">
var rootPath = '@Url.Content("~")'; // includes trailing /
</script>
(根据需要使用您的命名空间)
然后您可以生成以下操作:
var url = rootPath + 'controller/action/' + id