【发布时间】:2017-08-09 09:09:16
【问题描述】:
在我的所有 multiple 内容页面中,<script> 标记中有 4 个 javascript。他们处理弹出窗口并在按钮单击时禁用其他按钮。所以目前我在每个页面上都有很多重复的脚本代码。
是否可以将这些脚本放在母版页中,并让我的所有内容页面都引用它们?如果是这样,我应该将它们放在母版页中的什么位置,以及如何在单击按钮时引用它们?
我已经搜索了谷歌,但没有找到任何好的答案。
编辑1:处理重复标记。
我主要是想在这里避免重复代码,这就是为什么我想把它放在我的母版页中。如果可以将我的脚本放在 JS 文件中,请将其包含在母版页上,并让我的所有内容页面从那里访问脚本。那么这绝对是我问题的解决方案,并且很乐意接受描述我如何做到这一点的答案。需要明确的是,我还没有找到如何做的访问部分。
但只是说“将脚本放入 JS 文件并将文件包含在您的页面上”之类的话,不是解决我的问题的方法,因为它只是隐藏了文件中的重复性。
编辑 2:我现在尝试过的。
根据下面 M Idrees 的回答,我已将我的脚本放入位于我的项目 Scripts 文件夹中的 buttonScripts.js。我将它添加到我的母版页的头部:
<head runat="server">
<script type="text/javascript" src="~/Scripts/buttonScripts.js"></script>
...
</head>
我保留了按钮上的点击功能:
<button ... onclick="if (!myFunc(this)) { return false; }"></button>
然后我从内容页面中删除了脚本并启动了我的网络应用程序。现在我收到错误“myFunc 未定义”。这就是我上面所说的“这是我还没找到怎么做的访问部分”的意思。
编辑 3: 我很烂。
如上所示,尝试使用相对路径。使用正确的路径:
<head runat="server">
<script type="text/javascript" src="Scripts/buttonScripts.js"></script>
...
</head>
它按预期工作。谢谢!
【问题讨论】:
-
将它们从
<script>标签中取出,将它们放在一个外部JS文件中,然后从你的每个页面引用该JS文件 -
把你的脚本放到一个外部文件中,然后使用 。
-
@NickA 仅仅因为您的解决方案是将我的脚本放在 JS 文件中,这不会使我的问题重复。这个问题对该解决方案和其他解决方案开放。
-
@iquellis 我可以把它放在我的母版页中,还是我仍然必须在我的所有内容页面上都有重复的代码?
-
@Skillzore 如果您将其添加到您的母版页,它将被添加到您使用母版页的每个页面上。意思是如果有超过你提到的 4 页。其他页面会收到不需要的 JS 文件。
标签: javascript asp.net master-pages