我有一个非常标准的 ASP MVC 应用程序,我使用一点 JavaScript 来显示部分 View 。为了使 Javascript 工作,我需要硬编码一个到部分的路径,该路径在开发和生产之间是不同的。
主要是,在开发中没有应用程序规范,而在生产中则有。请参阅此处:
Production=var URL = '/WetWashRequest/wetWashRequests/GetDetails?WONumber=' + wo;
Dev = var URL = '/wetWashRequests/GetDetails?WONumber=' + wo;
这意味着,当我在本地处理它时,我删除了第一部分,当我想要部署时,我必须记住重新添加它。
这似乎有非常可笑的缺陷,我只能假设我无知并且做错了事情......
最佳答案
您可以利用 UrlHelper
来获取 URL,只要您在 View 中执行即可:
var URL = '@Url.Action("GetDetails")';
显然,将所有 JavaScript 放在 View 中是没有意义的,所以我通常会在我的 View 中的命名空间 var 中设置此属性,然后在我的外部 JavaScript 中引用它:
查看
<script>
var MyApplication = MyApplication || {};
MyApplication.GetDetailsUrl = '@Url.Action("GetDetails")';
</script>
外部JS
$.get(MyApplication.GetDetailsUrl, { WONumber: wo }, function (result) {
...
});
关于javascript - 我的 View 的相对 URL 路径在部署时中断,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23635505/