运行特定于视图的javascript代码
Run javascript code that is specific to the view
. NET MVC4应用程序,我得到了1个javascript文件为我的功能在整个网站。这工作得很好-但是我想在某些视图中运行某些代码。通常我会通过简单地在视图中放置一个简短的脚本标记来调用所需的函数来解决这个问题。然而,我在body标签的底部加载我的js文件,所以这个脚本标签会在加载之前调用一个函数,这显然是行不通的。
我如何从不同的视图调用我的js文件的各个部分,同时保持我的js文件在主体的底部?
这里发生了一些事情。
-
我不会把JavaScript直接在页面。原因很多,这不是你问题的重点,而是我想提出的一些问题。
-
你可以有一个单独的JS文件,在你的主JS文件之后加载,它实际上是从"main"调用函数。
我的方法是用id:
标记这些视图<div id="specific-page-name"></div>
然后在我的javascript简单地做:
if ($('#specific-page-name').length) {
// Run code
}
这样你仍然可以把你的视图和js代码分开。
最后,如果我必须在js中使用模型数据,我可以这样做:
<div data-model-data="@Model.Data"></div>
直接读为:
$('div').data('model-data');
我详细说明Matt在他的评论中给出的答案:在你的布局中,你可以指定你想要一些额外的HTML内容(在你的情况下,这将是你的JS)。你需要把它添加到你的主JS块之后。
@RenderSection("AddScripts", required: false)
然后在你的视图中,你可以添加一个节,它不会在视图中呈现,而是在布局中相应的节中呈现(在你的主JS块之后)。
@section AddScripts {
<script type="text/javascript">
...
</script>
}
相关文章:
- 如何在读取XLS/XLSX本地文件时,使用IE的javascript代码启用未标记为安全的ActiveX控件
- 面向对象的Javascript代码在IE7中不起作用
- 通过命令行/批处理文件打开页面时,将javascript代码注入Google Chrome
- JavaScript代码问题:我正在将对象转换为数组
- Javascript阻止其他Javascript代码
- JavaScript代码未正确检查ajax请求
- 如何调试Javascript代码或函数
- 为什么我在这个javaScript代码中使用NaN
- 将javascript代码转换为jquery代码时出错
- 如何从Objective-C代码中调用javascript代码
- 有什么工具可以轻松读取javascript代码吗
- 这个javascript代码是如何编写的
- 如何解密此javascript代码
- SIMPLE Javascript代码,用于显示谷歌电子表格中单个字段的数据
- HTML标记,包含带引号的JavaScript代码中的引号
- 如何在Win8Metro应用程序的Javascript代码中捕获自己的C#事件
- addEventListener的Javascript代码不工作!?(单击时打开放大的img)
- JavaScript代码无法在表单上呈现部分
- 以下 JavaScript 代码与 Facebook 相关
- 使用解析为javascript源的.php,如何使用条件语句将javascript代码封装在php括号之间