如何从`.js`文件访问服务器端上下文?

时间:2009-09-15 16:24:16

标签: asp.net javascript asp.net-mvc

我必须将所有脚本移到单独的.js文件中。但我已将代码连接到客户端(*.aspx)文件中,代码如

<script>
var x=<%=ViewData["Key"];%>
</script>

我确定将该行移到js文件时会出现问题,因为无法访问服务器端上下文。

如何解决此问题?

2 个答案:

答案 0 :(得分:3)

最直接的做法是移动除这些变量赋值之外的所有JS代码。

答案 1 :(得分:2)

实际上,诀窍是javascript中的依赖注入。首先,将您从服务器端变量生成的变量抽象为javascript方法和对象的参数。然后在页面中使用少量脚本来设置要运行的javascripts。

如果你正在处理一些相当静态的东西(例如 - 一些路径名),另一种策略是创建一个javascript“配置”对象,该对象位于服务器生成的单独脚本中,可以由你调用其他脚本根据需要。