2013-03-08 3 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> 

то каждая страница контента будет содержать то же самое в голове.

Если у вас были сценарии, которые использовались некоторыми страницами, а не другие, то на главной странице вы можете определить тег <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 это идентификатор элемента, содержащего <div> или другой. Это также поможет время загрузки браузера, так как вы загружаете изображения одновременно с загрузкой таблиц стилей и сценариев.

Наконец, если вы хотите использовать только ASP, я бы определил изображения как свойства главной страницы. Тогда любая страница контента может просто получить к ним доступ в коде и загрузить их там, где они вам понадобятся.

1

Я предполагаю, что мы говорим о веб-формах, а не MVC? Вы можете разместить скрипты в коллекции <asp:ScriptManager> элемента управления <Scripts> или <CompositeScript>. Вы можете получить ссылку на ScriptManager по адресу ScriptManager.GetCurrent(PageReference);

Изображения здесь нет ничего особенного, которые созданы для изображений; однако он может быть построен.

Смежные вопросы