使用母版页在.NET Web窗体中设置引用

时间:2018-12-20 15:18:31

标签: asp.net

对于许多人来说,这可能很简单,但对我而言,这仍然是一个巨大的混乱网。我已经厌倦了在主页和普通页面上每个地方都放置引用,所以我只想在这里问一下。我有一个使用插件的项目,我想在母版页上设置引用,以便普通页面可以看到这些引用,因此我不需要将它们逐个放置在每个页面上。问题是,我正在这样做,但是为什么不起作用?

示例

这是我的母版页

<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识别为函数。脚本引用是按顺序排列的,因为它可以在页面上工作,但不能在母版页面上工作

编辑

我只是试图将脚本放在母版页的头中,并且它起作用了,但是我试图避免这种情况,因为我读到这样做是一种不好的做法...

1 个答案:

答案 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>