2013-11-09 17 views
0

我有asp.net mvc项目与knockout.js所以我的索引页变得真的很大,因为有很多的JavaScript功能。 我很想移动JS代码到一个单独的文件,但它不会让我将它应用到了大部分的代码,因为如果我有像为什么将代码从html移动到.js会导致问题?

$.ajax({ 
    url: "@Html.Raw(@Url.Action("Load"))", 

然后,如果我将它弹出一个错误这部分代码放入另一个文件中。 请告诉我该如何解决这个问题?

回答

3

Javascript文件不会被ASP.net解析,所以您对@ Html.Raw和@ Url.Action(“Load”)的变量将不会被处理。

0

As @James Lai指出,服务器端代码不是由ASP.Net解析。有关解决方法,请参见this post,或者您可以选择哪些脚本仍然保留在页面上(使用服务器端代码)而不是“所有内容” - 您选择哪种方法满足您的要求。

0

Javascript文件没有被ASP.NET MVC分析,因此@Html.Raw(@Url.Action("Load"))将不能在JavaScript文件中工作。

下面有替代方法

view.cshtml相反声明一个变量。在脚本部分为

<script type="text/javascript"> 
    var actionUrl = '@Url.Action("Load", "Controller")'; 
</script> 

并在javascript文件中使用actionUrl

相关问题