2013-03-08 62 views
0

多天来,我一直试图找出解决方法来在我的内容页面中加载JavaScript和样式表。在内容页面中使用脚本和css文件

我要如何连接所有的资源文件,如.css.js在标记为master page,然后将这些直接在内容页使用,而不将其添加到每个所述内容的网页?

我发现我们可以通过使用主题链接.css文件并在母版页中初始化一个主题;但是.js文件和图像呢?

它们如何链接到母版页然后在内容页中访问?

请指点我正确的方向。

回答

1

在母版页上,所有放在头部的内容都将显示在所有使用该母版的内容页面上。

也就是说,如果在你的母版页您有:

<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,我会将图像定义为母版页的属性。然后任何内容页面都可以在后面的代码中访问它们,并将它们加载到需要它们的地方。

1

我假设我们正在谈论web表单,而不是MVC?您可以将脚本放在<asp:ScriptManager>控件的<Scripts>集合或<CompositeScript>列表中。您可以通过ScriptManager.GetCurrent(PageReference);

获得对ScriptManager的引用。图像没有任何特别的东西是为图像而构建的;但是,它可以建造。

相关问题