0

我有一个带有 knockout.js 的 asp.net mvc 项目,所以我的索引页面变得非常大,因为有很多 javascript 功能。我很想将 js 代码移动到一个单独的文件中,但它不允许我将它应用于大部分代码,因为如果我有类似的东西

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

如果我将这部分代码移动到另一个文件中,它会弹出一个错误。请告知我该如何解决这个问题?

4

3 回答 3

3

ASP.net 不解析 Javascript 文件,因此您拥有的 @Html.Raw 和 @Url.Action("Load") 变量将永远不会被处理。

于 2013-11-09T16:34:26.603 回答
0

ASP.NET MVC 不解析 Javascript 文件,因此@Html.Raw(@Url.Action("Load"))无法在 javascript 文件中工作。

继承人的解决方法

而是在view.cshtml. 在脚本部分作为

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

actionUrl在javascript文件中使用。

于 2013-11-09T17:18:00.423 回答
0

正如@James Lai 所指出的, ASP.Net 不会解析服务器端代码。请参阅这篇文章以了解解决方法,或者您可以选择哪些脚本仍然可以保留在页面上(使用服务器端代码)而不是“一切” - 您选择哪种方法满足您的要求。

于 2013-11-09T16:38:19.987 回答