我在一个项目上使用DNN 5.1而且发生了一件我无法理解的事情。控制任何html模块的操作的控制按钮已丢失。如果我检查DNN的事件查看器,这就是我得到的:
Message: DotNetNuke.Services.Exceptions.ModuleLoadException: Object reference not set
to an instance of an object. ---> System.NullReferenceException: Object reference not
set to an instance of an object. at otNetNuke.UI.Containers.ActionBase.get_ActionRoot()
at DotNetNuke.UI.WebControls.SolPartActions.BindMenu() at
DotNetNuke.UI.WebControls.SolPartActions.Page_PreRender(Object sender, EventArgs e) ---
End of inner exception stack trace
这似乎是Skin文件的问题,因为如果我切换到另一个皮肤,则“操作”按钮会恢复正常。我没有得到的是自从我上次成功使用它以来它是如何变化的。
如果有人有一些建议我会很感激。
答案 0 :(得分:1)
我建议查看你的模块容器.ascx文件并删除对solpart的引用!并替换为不同的提供商。我觉得标准的很慢。我将从我的一个容器.ascx文件中获取代码供您检查 - 这使用另一个菜单提供程序来处理小管理菜单
<%@ Control Language="vb" Codebehind="~/admin/Containers/container.vb" AutoEventWireup="false"
Explicit="True" Inherits="DotNetNuke.UI.Containers.Container" %>
<%@ Register TagPrefix="ddr" TagName="ACTIONS" src="~/DesktopModules/DDRMenu/Actions.ascx" %>
<%@ Register TagPrefix="dnn" TagName="TITLE" Src="~/Admin/Containers/Title.ascx" %>
<%Dim ModuleTitle As String = DotNetNuke.UI.Containers.Container.GetPortalModuleBase(dnnTITLE).ModuleConfiguration.ModuleTitle()%>
<dnn:title runat="server" id="dnnTitle" visible="false" />
<h3><%= ModuleTitle %></h3>
<div class="tab_edging" id="ContentPane" runat="server" style="border:1px solid white">
</div>
<div class="spacer">
<ddr:ACTIONS runat="server" />
</div>
我们已经从http://www.dnngarden.com/Download.T87.aspx安装了一个额外的菜单提供程序,我建议你看一下!
答案 1 :(得分:0)
问题可能是容器或一些错误的javascript。我会先尝试切换到另一个默认容器。如果没有这样做,请查看是否有任何Javascript引发错误(我通常在Firefox错误控制台中执行此操作,但有很多方法)。