请求AddModule出现DNN错误如何解决
How to Resolve DNN Error Occurred When Request AddModule
我使用 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:我了解到,当在页面上查看模块时,第一个看到的视图必须在 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 服务器 DNN 事件日志 table 中记录了以下条目:
<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>
我已经有一段时间了,但我相信我的一个模块曾经遇到过类似的错误。
它可以毫无问题地添加到旧安装的页面,在 DNN 9 中安装也很好。但是将它添加到 DNN 9 中的页面是行不通的。
问题是 .DNN
文件中列出的内容与安装包的实际内容不匹配。
我认为是 moduleDefinitions
中的一个 moduleControls
节点不再存在,或者相反。
无论如何将 DNN 文件中的所有项目与实际文件和 remove/add 定义匹配并重新安装包。
我使用 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:我了解到,当在页面上查看模块时,第一个看到的视图必须在 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 服务器 DNN 事件日志 table 中记录了以下条目:
<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>
我已经有一段时间了,但我相信我的一个模块曾经遇到过类似的错误。
它可以毫无问题地添加到旧安装的页面,在 DNN 9 中安装也很好。但是将它添加到 DNN 9 中的页面是行不通的。
问题是 .DNN
文件中列出的内容与安装包的实际内容不匹配。
我认为是 moduleDefinitions
中的一个 moduleControls
节点不再存在,或者相反。
无论如何将 DNN 文件中的所有项目与实际文件和 remove/add 定义匹配并重新安装包。