多天来,我一直试图找出解决方法来在我的内容页面中加载JavaScript和样式表。在内容页面中使用脚本和css文件
我要如何连接所有的资源文件,如.css
和.js
在标记为master page
,然后将这些直接在内容页使用,而不将其添加到每个所述内容的网页?
我发现我们可以通过使用主题链接.css
文件并在母版页中初始化一个主题;但是.js
文件和图像呢?
它们如何链接到母版页然后在内容页中访问?
请指点我正确的方向。
多天来,我一直试图找出解决方法来在我的内容页面中加载JavaScript和样式表。在内容页面中使用脚本和css文件
我要如何连接所有的资源文件,如.css
和.js
在标记为master page
,然后将这些直接在内容页使用,而不将其添加到每个所述内容的网页?
我发现我们可以通过使用主题链接.css
文件并在母版页中初始化一个主题;但是.js
文件和图像呢?
它们如何链接到母版页然后在内容页中访问?
请指点我正确的方向。
在母版页上,所有放在头部的内容都将显示在所有使用该母版的内容页面上。
也就是说,如果在你的母版页您有:
<head runat="server">
<script type="text/javascript" src="/js/pages/jquery.min.js"></script>
<script type="text/javascript" src="/js/pages/jquery.jscrollpane.min.js"></script>
</head>
然后每个内容页面将包含在头一样的东西。
如果您有某些页面使用的脚本而不是其他页面,则可以在母版页上定义一个位于<head>
的<asp:content>
标签。
然后,在您的内容页面中,您可以将指向JavaScript文件的链接直接放入页头中内容标签的内容占位符。
如果你想链接图片,我会建议通过JavaScript来做到这一点。如果您在母版页头创建<script>
块的东西,如下列:
var ReusableImageVariable = new Image();
ReusableImageVariable.src = '\A\Path\To\Your\image.jgp';
然后任意内容网页上,你可以放置一个脚本块,将使用ReusableImageVariable
并将其复制到文档中的指定位置:
<script type='text/javascript'>
document.getElementById('PlaceHolderForImage').appendChild(ReusableImageVariable);
</script>
凡PlaceHolderforImage
为含<div>
或其他元素的id。这也有助于浏览器加载时间,因为您在加载样式表和脚本的同时加载图像。
最后,如果您只想使用ASP,我会将图像定义为母版页的属性。然后任何内容页面都可以在后面的代码中访问它们,并将它们加载到需要它们的地方。
我假设我们正在谈论web表单,而不是MVC?您可以将脚本放在<asp:ScriptManager>
控件的<Scripts>
集合或<CompositeScript>
列表中。您可以通过ScriptManager.GetCurrent(PageReference);
获得对ScriptManager的引用。图像没有任何特别的东西是为图像而构建的;但是,它可以建造。