当前,我正在使用site.master页面来开发常规Web应用程序。
我注意到,在实施SignalR时,我们必须导入以下脚本
<script src="Scripts/jquery-1.10.2.min.js"></script>
<script src="Scripts/jquery.signalR-2.1.0.min.js"></script>
<script src="signalr/hubs"></script>
但是,考虑到连接将多次启动,将脚本放置在site.master中是一种好习惯。
是否有更好的方法将脚本导入到更通用的位置,该位置只会启动一次集线器?还是将它留在site.master页面中根本没有关系吗?
此外,如果我有不使用site.master的不同页面会发生什么情况,在这种情况下,我需要在不同页面中重新导入脚本吗?
答案 0 :(得分:0)
想到两种方法。
实现嵌套母版页。 See Here您可以在内部母版页中添加脚本,并且仅将此母版页用于需要这些其他脚本的页面。如果有很多需要此脚本的页面(但不是全部),这是一种“好的”方法。
您还可以在主模板中创建内容占位符。这样。
<asp:ContentPlaceHolder ID="cphScripts" runat="server">
</asp:ContentPlaceHolder>
然后在要添加其他脚本的页面中,可以添加如下脚本。
<asp:Content ID="ContentScripts" ContentPlaceHolderID="cphScripts" runat="server">
<script src="Scripts/jquery-1.10.2.min.js"></script>
<script src="Scripts/jquery.signalR-2.1.0.min.js"></script>
<script src="signalr/hubs"></script>
</asp:Content>
如果您需要这些脚本的页面很少,我会采用这种方法。如您所见,您必须在每一页中一次又一次地重复该块。