Я разработал специальный модуль DNN, используя шаблон веб-форм DNN, который можно найти на christoc.com. Решение создается без ошибок, и полученный установочный пакет устанавливается без проблем в моем экземпляре 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
Стандартные модули DNN, такие как HTML, без проблем устанавливаются на одну страницу. Я только что применил самый последний пакет обновления 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: я узнал, что представление, которое должно быть первым, которое будет отображаться при просмотре модуля на странице, должно иметь controlKey, установленное в ничто в манифесте DNN. После этого, удаления модуля, его переустановки и попытки разместить на странице была выдана следующая ошибка:
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>