【发布时间】:2012-12-08 18:06:52
【问题描述】:
如何在 DotnetNuke 中包含特定模块的自定义 css 和 JavaScript?
我知道它不像普通的 ASP.Net 页面。
【问题讨论】:
标签: dotnetnuke
如何在 DotnetNuke 中包含特定模块的自定义 css 和 JavaScript?
我知道它不像普通的 ASP.Net 页面。
【问题讨论】:
标签: dotnetnuke
如果您的模块在模块文件夹的根目录中有一个名为module.css 的文件,它将自动包含在该模块所在的页面中。
对于其他 CSS 和 JavaScript,您应该使用 Client Resource Management framework 来包含您想要的资源。像这样的:
<%@ Register TagPrefix="dnn"
Namespace="DotNetNuke.Web.Client.ClientResourceManagement"
Assembly="DotNetNuke.Web.Client" %>
<dnn:DnnCssInclude runat="server"
FilePath="~/DesktopModules/MyModule/css/the-style.css" />
<dnn:DnnJsInclude runat="server"
FilePath="~/DesktopModules/MyModule/js/the-script.js"
ForceProvider="DnnFormBottomProvider" />
【讨论】:
你也可以这样用:
<link rel="stylesheet" type="text/css" href="<%= ControlPath %>/module.css" />
【讨论】:
将外部 JavaScript 添加到自定义模块:
string externaJs= "externaJs";
Type cstype = System.Reflection.MethodBase.GetCurrentMethod().GetType();
string cstext = "<script src=\"" +
ResolveUrl("~/DesktopModules/ModuleName/js/JsName.js") +
"\" type=\"text/javascript\"></script>";
if (!Page.ClientScript.IsClientScriptBlockRegistered(externaJs))
Page.ClientScript.RegisterClientScriptBlock(cstype, externaJs, cstext, false);
【讨论】: