2

我有一个我编写的 DNN 模块,其中包括 jquery fancybox 插件的 css/js,如下所示:

<%@ Control Language="C#" AutoEventWireup="true" CodeBehind="View.ascx.cs" Inherits="DotNetNuke.Modules.WebPortfolio.View" %>
<%@ Register TagPrefix="dnn" Namespace="DotNetNuke.Web.Client.ClientResourceManagement" Assembly="DotNetNuke.Web.Client" %>

<dnn:DnnCssInclude runat="server" priority="10" FilePath="DesktopModules/WebPortfolio/Scripts/Fancybox/jquery.fancybox.css" />
<dnn:DnnJsInclude runat="server" priority="10" FilePath="DesktopModules/WebPortfolio/Scripts/Fancybox/jquery.fancybox.pack.js" />

当我处于编辑模式时,一切都很好,花花公子,但是当我切换到查看模式时,css 和 js 不包括在内。这看起来相当简单,所以我想我错过了一些东西,但是什么?为什么脚本没有在查看模式下加载?

DNN 版本为 6.2.4

编辑:我昨晚和今天早上一直在与这个作斗争。该脚本每次在编辑模式下加载,但在查看模式或注销时,它可能加载一次或两次,然后加载失败。有趣的是,我在模块的视图控件中添加了服务器端时间戳,并禁用了所有缓存(浏览器、DNN 主机设置),并且文件仍在缓存中。这发生在我的本地机器(IIS Express)和我们的登台服务器(IIS 7.5)上。

如果我反弹 Web 服务器并清除 Portals/0/Cache 目录,脚本偶尔会在第一次加载,但之后会失败。我终于求助于客户端检查,它在必要时动态加载脚本,但这绕过了客户端资源管理 API 的优点,所以我真的很想找出一个合适的解决方案。

4

1 回答 1

0

这听起来像是我刚刚记录的一个问题 ( DNN-20363 ),其中在缓存模块时不包括使用客户端资源管理框架注册的资源。当模块启用模块缓存时,我遇到了这个问题。您的模块是否在其模块定义中设置了默认缓存时间?您可以尝试将其关闭,然后添加一个新实例(以确保缓存设置本身不会被缓存)。

于 2012-10-18T13:53:50.673 回答