我正在使用 ASP.NET MVC 2,当需要将所有 javascript 存储在单独的 javascript 文件中时,我遇到了这种情况。
但是在某些页面中,Javascript 包含来自服务器端的信息,所以我需要一种方法来做这样的事情。
我想制作单独的 JS 文件并将它们包含在 Site.Master
中。但我仍然想像这样制作可行的代码块
loadNews("<%= Model.A%>", "<%= Model.B%>");
有什么办法可以做点小把戏吗?
最佳答案
我是 MVC 的新手,也面临这种情况。我通过 View 上的脚本 block 调用 javascript 函数来处理它。
像这样:
--关于MyFile.js
function loadNews(a, b) {
//Do fun stuff
}
--关于Index.cshtml
<script type="text/javascript">
loadNews("<%= Model.A%>", "<%= Model.B%>");
</script>
另一种选择是在 View 的脚本 block 中声明变量并在 javascript 中引用这些变量,因为它们的作用域是全局的。这将是一件丑陋的事情,并且更难维护,但也可以完成这项工作。像这样:
--关于MyFile.js
function loadNews() {
doSomethingWithA(a);
doSomethingElseWithB(b);
}
--关于Index.cshtml
<script type="text/javascript">
var a = "<%= Model.A%>";
var b = "<%= Model.B%>";
</script>
关于javascript - 在单独的 Javascript 文件中获取模型值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9992998/