如何将这个javascript从aspx视图中移出,并放入一个单独的js文件中

How can i move this javascript outside of my aspx view and into a seperate js file?

本文关键字:单独 文件 js 一个 javascript aspx 移出 视图      更新时间:2023-10-31

我有一个asp.net-mvc项目,我在其中一个视图中有以下代码:

<script type="text/javascript">
   $(document).ready(function () {
        var locations = <%= new JavaScriptSerializer().Serialize(Model.LocationArray) %>;

我想把这个代码移到一个单独的js文件中(原因与这个问题无关),但我意识到我不能,因为代码位于<%%>之间

关于如何将其"注入"到一个单独的js文件中,有什么建议吗?

您可以在其他javascript文件中明确访问此变量。我更喜欢在变量前面加g,表示它是一个全局变量。注意加载javascript的顺序。

<Script type="text/javascript">
$(function(){    
  var gLocation=<%= new JavaScriptSerializer().Serialize(Model.LocationArray) %>;  
});
</script>
<script src="scriptWhichUseThisVariable.js"></script>

您还可以将此变量传递给在外部javascript文件中编写的函数。

$(function(){   
  var gLocation=<%= new JavaScriptSerializer().Serialize(Model.LocationArray) %>;
  MyFunctionInCustomJSFile(gLocation);
});

确保您加载了javascript文件,该文件中定义了函数MyFunctionInCustomJSFile。还确保在上面的代码执行完成后执行的代码块中访问它。

在外部文件运行之前,在本地文件中设置locations值。由于该值是在服务器端填充的,因此不需要将其嵌套在.ready()中。

如果是数据而不是代码,一种选择是在运行时通过AJAX加载它。

相关文章: