2014-05-13 132 views
0

我有一个非常标准的ASP MVC应用程序,我使用一个小小的JavaScript来显示部分视图。为了使这个Javascript工作,我需要硬编码到Devial​​和Production之间不同的Partial路径。我的视图的相对URL路径在部署时破坏

主要是,在开发没有任何应用程序规范,在生产有。在这里看到:

生产= var URL = '/WetWashRequest/wetWashRequests/GetDetails?WONumber=' + wo;

开发= var URL = '/wetWashRequests/GetDetails?WONumber=' + wo;

这意味着,当我对某本地工作我删除的第一部分,当我想部署我记得要重新添加它。

这看起来很可笑的硬伤,我只能假设我是无知和做错了什么......

回答

1

你可以利用UrlHelper拿到的网址,只要你考虑做:

var URL = '@Url.Action("GetDetails")'; 

显然,这是没有意义的把所有的JavaScript的考虑,所以我会做的正常设置只是这个在我看来,在一个命名空间变种,然后引用它在我的外部JavaScript:

查看

<script> 
    var MyApplication = MyApplication || {}; 
    MyApplication.GetDetailsUrl = '@Url.Action("GetDetails")'; 
</script> 

外部JS

$.get(MyApplication.GetDetailsUrl, { WONumber: wo }, function (result) { 
    ... 
}); 
+0

感谢,仅供参考我需要改变'WONumber = wo'到'WONumber:wo' –

+0

哎呦。对于那个很抱歉。 C#在大脑中。 –