Связывание с javascript и CSS с помощью API управления ресурсами клиента

Я хочу интегрировать "lightbox2" ( http://lokeshdhakar.com/projects/ligh..) В модуль DNN, который я разрабатываю, это включает в себя использование файлов 4x js и css в проекте dnn, поставляемом с Lightbox2.

Я следовал руководству API управления ресурсами клиента, которое можно найти здесь ( http://www.dotnetnuke.com/Resources/Wiki/Page/Client-Resource-Management-API.aspx), чтобы попытаться настроить его в моем модуле. К сожалению, когда я запускаю модуль на своей локальной машине, я получаю сообщение об ошибке:

Error: TestModule is currently unavailable. DotNetNuke.Services.Exceptions.ModuleLoadException: The server tag is not well formed. ---> System.Web.HttpParseException: The server tag is not well formed. ---> System.Web.HttpException: The server tag is not well formed. at System.Web.UI.TemplateParser.ProcessError(String message) at System.Web.UI.TemplateParser.ParseStringInternal(String text, Encoding fileEncoding) at System.Web.UI.TemplateParser.ParseString(String text, VirtualPath virtualPath, Encoding fileEncoding) --- End of inner exception stack trace --- at System.Web.UI.TemplateParser.ParseString(String text, VirtualPath virtualPath, Encoding fileEncoding) at System.Web.UI.TemplateParser.ParseFile(String physicalPath, VirtualPath virtualPath) at System.Web.UI.TemplateParser.Parse() at System.Web.Compilation.BaseTemplateBuildProvider.get_CodeCompilerType() at System.Web.Compilation.BuildProvider.GetCompilerTypeFromBuildProvider(BuildProvider buildProvider) at System.Web.Compilation.BuildProvidersCompiler.ProcessBuildProviders() at System.Web.Compilation.BuildProvidersCompiler.PerformBuild() at System.Web.Compilation.BuildManager.CompileWebFile(VirtualPath virtualPath) at System.Web.Compilation.BuildManager.GetVPathBuildResultInternal(VirtualPath virtualPath, Boolean noBuild, Boolean allowCrossApp, Boolean allowBuildInPrecompile, Boolean throwIfNotFound, Boolean ensureIsUpToDate) at System.Web.Compilation.BuildManager.GetVPathBuildResultWithNoAssert(HttpContext context, VirtualPath virtualPath, Boolean noBuild, Boolean allowCrossApp, Boolean allowBuildInPrecompile, Boolean throwIfNotFound, Boolean ensureIsUpToDate) at System.Web.Compilation.BuildManager.GetVPathBuildResult(HttpContext context, VirtualPath virtualPath, Boolean noBuild, Boolean allowCrossApp, Boolean allowBuildInPrecompile, Boolean ensureIsUpToDate) at System.Web.UI.TemplateControl.LoadControl(VirtualPath virtualPath) at DotNetNuke.UI.Modules.WebFormsModuleControlFactory.CreateModuleControl(TemplateControl containerControl, ModuleInfo moduleConfiguration) at DotNetNuke.UI.Modules.ModuleControlFactory.LoadModuleControl(TemplateControl containerControl, ModuleInfo moduleConfiguration) at DotNetNuke.UI.Modules.ModuleHost.LoadModuleControl() --- End of inner exception stack trace ---

Я работаю на странице ascx (не код) и мой сценарий до сих пор:

<%@ Register TagPrefix="dnn" Namespace="DotNetNuke.Web.Client.ClientResourceManagement" Assembly="DotNetNuke.Web.Client" %>

<dnn:DnnJsInclude runat="server" FilePath="FilePath="~/DesktopModules/TestModule/js/jquery-1.7.2.min.js" PathNameAlias="SkinPath" />
<dnn:DnnJsInclude runat="server" FilePath="~/DesktopModules/TestModule/js/jquery-1.7.2.min.js" PathNameAlias="SkinPath" />
<dnn:DnncssInclude runat="server" FilePath="~/DesktopModules/TestModule/css/lightbox.css" PathNameAlias="SkinPath" />
<dnn:DnncssInclude runat="server" FilePath="~/DesktopModules/TestModule/css/screen.css" PathNameAlias="SkinPath" />

У меня был поиск по нескольким форумам в поисках ответа, но там не так много помощи. Один подобный вопрос здесь ( Как добавить Lightbox в пользовательский модуль DotNetNuke), но не вдаваться в подробности для начинающего JavaScript, такого как я

Был бы очень признателен, если бы кто-то мог указать мне в правильном направлении здесь

Большое спасибо

2 ответа

Ваша первая строка включения повторяется: FilePath="FilePath="~

Удалить второй FilePath = "

Изменения после вашего комментария:

Вы загружаете jQuery дважды, поэтому я предполагаю, что одна из них должна загружать ваш плагин лайтбокса (это ваши первые две строки после исправления первой):

<dnn:DnnJsInclude runat="server" FilePath="~/DesktopModules/TestModule/js/jquery-1.7.2.min.js" PathNameAlias="SkinPath" />
<dnn:DnnJsInclude runat="server" FilePath="~/DesktopModules/TestModule/js/jquery-1.7.2.min.js" PathNameAlias="SkinPath" />

Кроме того, я не пробовал загружать его таким образом, но у меня есть ощущение, что загрузка jQuery может привести к его двойной загрузке (и, вероятно, двум различным версиям). Попробуйте использовать:

DotNetNuke.Framework.jQuery.RequestRegistration();

вместо.

Я использую этот материал в моем текущем проекте, и он отлично работает. Единственное, что я вижу, что отличается между вами и моим, это то, что я не использую атрибут PathNameAlias ​​="SkinPath".

Хороший способ перекрестной проверки - открыть исходный код страницы, содержащей ваш модуль, и выполнить поиск файла javascript или файла css по имени. Если он есть, проверьте, что путь правильный, если его нет, значит, у вас проблема.

Когда я пишу свои собственные сценарии, я обычно начинаю с alert ("здесь"), чтобы убедиться, что они включены. Вы можете временно добавить это в начало вашего файла лайтбокса.

отметка

Другие вопросы по тегам