我如何在 DotnetNuke 中包含特定模块的自定义 css 和 JavaScript?
我知道它不像普通的 ASP.Net 页面。
如果您的模块在模块文件夹的根目录中有一个名为module.css
的文件,它将自动包含在该模块所在的页面中。
对于其他 CSS 和 JavaScript,您应该使用客户端资源管理框架来包含您想要的资源。像这样的东西:
<%@ 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);