0

很多天以来,我一直在尝试解决在我的内容页面中加载 javascript 和样式表的方法。

如何链接所有资源文件,例如.css.js的标记,master page然后直接在内容页面中使用它们而不将它们添加到每个所述内容页面?

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

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

请指出我正确的方向。

4

2 回答 2

1

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

图像没有专门为图像构建的任何类似的东西。但是,它可以构建。

于 2013-03-08T13:03:31.603 回答
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>

那么每个内容页面的头部都会包含相同的内容。

如果您有一些页面使用的脚本而不是其他页面,那么您可以在母版页上定义一个位于母版页中的<asp:content>标记<head>

然后在您的内容页面中,您可以将指向您的 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的 id在哪里。<div>这也有助于缩短浏览器加载时间,因为您在加载样式表和脚本的同时加载图像。

最后,如果您只想使用 ASP,我会将图像定义为母版页的属性。然后任何内容页面都可以在后面的代码中访问它们并将它们加载到您需要的地方。

于 2013-03-08T13:50:27.773 回答