对于许多人来说,这可能很简单,但对我而言,这仍然是一个巨大的混乱网。我已经厌倦了在主页和普通页面上每个地方都放置引用,所以我只想在这里问一下。我有一个使用插件的项目,我想在母版页上设置引用,以便普通页面可以看到这些引用,因此我不需要将它们逐个放置在每个页面上。问题是,我正在这样做,但是为什么不起作用?
示例
这是我的母版页
<html>
<head>
<link rel="stylesheet" href="AdminLTE/bower_components/bootstrap/dist/css/bootstrap.min.css" />
<link rel="stylesheet" href="AdminLTE/bower_components/font-awesome/css/font-awesome.min.css" />
<link rel="stylesheet" href="AdminLTE/bower_components/Ionicons/css/ionicons.min.css" />
<link rel="stylesheet" href="AdminLTE/dist/css/AdminLTE.min.css" />
<link rel="stylesheet" href="AdminLTE/bower_components/datatables.net-bs/css/dataTables.bootstrap.min.css" />
<link rel="stylesheet" href="AdminLTE/dist/css/skins/skin-blue.min.css" />
<asp:ContentPlaceHolder ID="head" runat="server">
</asp:ContentPlaceHolder>
</head>
<body>
<asp:ContentPlaceHolder ID="PageBody" runat="server">
</asp:ContentPlaceHolder>
<script src="AdminLTE/bower_components/jquery/dist/jquery.min.js"></script>
<script src="AdminLTE/bower_components/bootstrap/dist/js/bootstrap.min.js"></script>
<script src="AdminLTE/bower_components/datatables.net/js/jquery.dataTables.min.js"></script>
<script src="AdminLTE/bower_components/datatables.net-bs/js/dataTables.bootstrap.min.js"></script>
<script src="AdminLTE/dist/js/adminlte.min.js"></script>
<script type="text/javascript" src="Scripts/MasterPage/main.js"></script>
</body>
</html>
在另一页中,我使用的是jquery表,其中我将DataTable设置为Table ID with
<script>
$(function () {
$.noConflict();
$("#tblRegistos").DataTable();
});
</script>
仍然说它不能将DataTable识别为函数。脚本引用是按顺序排列的,因为它可以在页面上工作,但不能在母版页面上工作
编辑
我只是试图将脚本放在母版页的头中,并且它起作用了,但是我试图避免这种情况,因为我读到这样做是一种不好的做法...
答案 0 :(得分:1)
这是因为子页面中的脚本标记将在文件之前呈现。将脚本标记的js内容添加到.js文件,并在main.js之后的母版页上引用它们。
<script type="text/javascript" src="Scripts/MasterPage/main.js"></script>
<script type="text/javascript" src="Scripts/OtherPage/otherPage.js"></script>