Dotnetnuke DNN模块中的CSS

Dotnetnuke DNN模块中的CSS,dotnetnuke,Dotnetnuke,如何在DotnetNuke中包含特定模块的定制css和JavaScript 我知道这与普通ASP.Net页面不同。如果您的模块在模块文件夹的根目录中有一个名为module.css的文件,它将自动包含在模块的页面中 对于其他CSS和JavaScript,应该使用来包含所需的资源。大概是这样的: <%@ Register TagPrefix="dnn"     Namespace="DotNetNuke.Web.Client.ClientResourceManagement"     As

如何在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" />

 

要将外部JavaScript添加到自定义模块,请执行以下操作:

string externaJs=“externaJs”;
类型cstype=System.Reflection.MethodBase.GetCurrentMethod().GetType();
字符串cstext=“”;
如果(!Page.ClientScript.IsClientScriptBlockRegistered(externaJs))
Page.ClientScript.RegisterClientScriptBlock(cstype,externaJs,cstext,false);
您也可以使用此选项:

<link rel="stylesheet" type="text/css" href="<%= ControlPath %>/module.css" />


嗨!我找到了你关于DnnCssInclude的答案并使用了它,它几乎完美地工作了。不过,我确实有一个小问题,我想知道你是否能帮忙。我的案例:我有一个包含asp.net向导的控件,我为该向导使用自定义css。当它第一次加载一些css(不是全部)时,无法正确加载(请检查此处的屏幕截图:)。当我点击一个按钮时,页面会进行回发,然后正确应用css(请检查此处的屏幕截图:)。有什么想法吗?@PanagiotisPalladinos我认为如果一些CSS正在加载,可能是与页面上的其他内容冲突,而不是如何加载CSST的问题。这是非常手动的,不会很好地扩展。DNN有一个API,它使用客户机依赖性框架做同样的事情,允许最小化、聚合和缓存,代码更少,代码更易重用,并且具有更好的扩展能力。