请求AddModule时如何解决DNN错误

时间:2018-07-23 18:46:55

标签: dotnetnuke dnn-module

我已经使用christoc.com上的DNN Web表单模板开发了一个自定义DNN模块。解决方案的构建没有错误,并且在我的DNN 9.2实例中生成的安装包安装没有问题。

当我尝试将自定义模块添加到页面时,出现上述错误。 Chrome开发人员工具显示了更多信息,如下所示:

POST http://localhost:81/API/internalservices/controlbar/AddModule 500 
(Internal Server Error)
send @ jquery.js?cdv=150:9566
ajax @ jquery.js?cdv=150:9173
jQuery.ajax @ jquery-migrate.js?cdv=150:191
request @ ModuleService.js?cdv=150:30
addModule @ ModuleDialog.js?cdv=150:214
_doAddModule @ ModuleDialog.js?cdv=150:794
proxy @ jquery.js?cdv=150:496
dispatch @ jquery.js?cdv=150:5206
elemData.handle @ jquery.js?cdv=150:5014

HTML之类的标准DNN模块可以毫无问题地安装到同一页面上。我只是将9.2最新的升级程序包应用于运行通用DNN外观的实例。

似乎JQuery存在问题,但我不确定问题所在和解决方法。任何帮助和指导将不胜感激。

更新:
我想共享DNN清单文件的一部分,因为这可能是根本原因,但不确定。示例如下:

<moduleControl>
                <controlKey>Product AccountLink</controlKey>
                <controlSrc>DesktopModules/MyModuleName/P_View_AccountLink.ascx</controlSrc>
                <supportsPartialRendering>False</supportsPartialRendering>
                <controlTitle>AccountLink Content</controlTitle>
                <controlType>View</controlType>
                <iconFile />
                <helpUrl />
                <viewOrder>0</viewOrder>
                <supportsPopUps>True</supportsPopUps>
</moduleControl>

更新2:我了解到,要在页面上查看模块时首先看到的View必须在DNN清单中将controlKey设置为空。完成此操作后,卸下模块,重新安装它,然后尝试将其放置在页面上,将引发以下错误:

AbsoluteURL:/Default.aspx
DefaultDataProvider:DotNetNuke.Data.SqlDataProvider, DotNetNuke
ExceptionGUID:5386839d-258e-4214-ae27-fb0bbae8837a
AssemblyVersion:
PortalId:-1
UserId:-1
TabId:-1
RawUrl:
Referrer:
UserAgent:

ExceptionHash:rtw8cf/KL7W//vxFceePqix1IGE=
Message:Value cannot be null. Parameter name: type

StackTrace:
at System.Activator.CreateInstance(Type type, Boolean nonPublic) at 
System.Activator.CreateInstance(Type type) at 
DotNetNuke.UI.Skins.Pane.IsVesionableModule(ModuleInfo moduleInfo) at 
DotNetNuke.UI.Skins.Pane.InjectModule(ModuleInfo module) at 
DotNetNuke.UI.Skins.Skin.InjectModule(Pane pane, ModuleInfo module)

InnerMessage:
InnerStackTrace:
Source:mscorlib
FileName:
FileLineNumber:0
FileColumnNumber:0
Method:

因此,在这一点上,该模块仍无法正确添加到页面中。我在SQL Server DNN EventLog表中注意到以下条目:

<LogProperties>
   <LogProperty>
     <PropertyName>AbsoluteURL</PropertyName>
     <PropertyValue>/Default.aspx</PropertyValue>
   </LogProperty>
   <LogProperty>
     <PropertyName>DefaultDataProvider</PropertyName>
     <PropertyValue>DotNetNuke.Data.SqlDataProvider, 
     DotNetNuke</PropertyValue>
   </LogProperty>
   <LogProperty>
     <PropertyName>ExceptionGUID</PropertyName>
     <PropertyValue>5386839d-258e-4214-ae27-fb0bbae8837a</PropertyValue>
  </LogProperty>
</LogProperties>

1 个答案:

答案 0 :(得分:1)

我已经有一段时间了,但是我相信我的一个模块曾经遇到过类似的错误。 可以毫无问题地将其添加到有关较旧安装的页面上,并且在DNN 9中安装也可以。但是将其添加到DNN 9中的页面将不起作用。 问题是.DNN文件中列出的内容与安装软件包的实际内容之间不匹配。

我认为这是moduleControls中的一个moduleDefinitions节点,已经不存在了,或者相反。

无论如何,将DNN文件中的所有项目与实际文件匹配,然后删除/添加定义并重新安装软件包。