На самом деле в DNN нет места для глобального пользовательского контента, охватывающего порталы, если только он не находится в модуле или другом расширении. В этом случае кажется, что ваши порталы могут иметь одинаковую обложку, поэтому было бы неплохо разместить собственные стили и сценарии (при условии, что вы владеете / управляете обложкой; если она сторонняя, и вы можете обновить ее, возможно, лучше всего быть закрытыми, как основной код).
Итак, либо добавьте CSS и скрипт в скин, либо создайте собственный модуль, который добавляет стили / скрипты, которые вы можете включить на каждой странице (используя параметр модуля Показать на всех страницах).
Если вы используете DNN 6.1 или более поздней версии, вы можете подключиться к представленной клиентской структуре управления ресурсами , чтобы управлять ссылками на CSS и JS. Сначала добавьте эту ссылку в элемент управления (скин, модуль управления и т. Д.):
<%@ Register TagPrefix="dnn" Namespace="DotNetNuke.Web.Client.ClientResourceManagement" Assembly="DotNetNuke.Web.Client" %>
Тогда используйте это так:
<dnn:DnnJsInclude runat="server" FilePath="DNNMega/jquery.dnnmega.debug.js" PathNameAlias="SkinPath" />
<dnn:DnnCssInclude runat="server" FilePath="DNNMega/dnnmega.css" PathNameAlias="SkinPath" />
В противном случае лучшим вариантом для добавления таблицы стилей будет следующий код:
protected override void OnInit(EventArgs e) {
base.OnInit(e);
this.AddStyleSheet("//fonts.googleapis.com/css?family=Rokkitt:400,700");
}
private void AddStyleSheet(string path)
{
((CDefault)this.Page).AddStyleSheet(DotNetNuke.Common.Globals.CreateValidID(path), path);
}
И на скрипт можно ссылаться через простой тег <script>
или что-то вроде ClientScriptManager.RegisterStartupScript
.