我已经使用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>
答案 0 :(得分:1)
我已经有一段时间了,但是我相信我的一个模块曾经遇到过类似的错误。
可以毫无问题地将其添加到有关较旧安装的页面上,并且在DNN 9中安装也可以。但是将其添加到DNN 9中的页面将不起作用。
问题是.DNN
文件中列出的内容与安装软件包的实际内容之间不匹配。
我认为这是moduleControls
中的一个moduleDefinitions
节点,已经不存在了,或者相反。
无论如何,将DNN文件中的所有项目与实际文件匹配,然后删除/添加定义并重新安装软件包。