2016-12-30 14 views
0

Я новичок в DotnetNuke. Я создаю проект, который предоставляет модуль, который можно добавить на веб-сайт DotnetNuke.Как и где добавить JQuery в проект модуля в DotnetNuke (DNN)?

Я настроил www.dnndev.me на своем сервере IIS и создал проект в папке DesktopModule. Я могу создать, создать и добавить свой модуль на www.dnndev.me успешно, но я не знаю, где добавить JQuery в Обозреватель решений моего проекта модуля.

1 Где я могу добавить файлы JS и CSS? Я попытался добавить папки «Активы», «Активы/CSS», «Активы/JS» и поместить туда мои файлы в свой проводник решений.

2- Как включить файлы JS/CSS в ascx странице? Я устал, следуя

<%@ Control Language="C#" AutoEventWireup="true" CodeBehind="View.ascx.cs" Inherits="CustomerDemo.Modules.CustomerDemo.View" %> 
<dnn:DnnCssInclude runat="server" FilePath="~/DesktopModules/CustomerDemo/Assets/JS/fullcalendar.min.js" /> 
<dnn:DnnCssInclude runat="server" FilePath="~/DesktopModules/CustomerDemo/Assets/JS/jquery-ui-timepicker-addon.js" /> 

По указанным выше способом .js показывает в моем источнике веб-страницы, но это не вызывает. Но если я пытаюсь следуя пути, он работает

<script type="text/javascript"> 
    $(document).ready(function() { $.getScript("http://www.dnndev.me/DesktopModules/CustomerDemo/Assets/JS//jquery-ui-timepicker-addon.js?_=1483026285109", function() { 
      if ($('.mmdd').length > 0) { 
       $(".mmdd ").datetimepicker(); 
      } 
     }); 
    }); 
</script> 

Может кто-нибудь пожалуйста, предложите мне, как и где разместить .js и файлы».css' и как включить их в проект?

Я использую: Visual Studio 2015 & DotNetNuke 8 Commnunity

путь файла путаница:

Это мое физическое местоположение папки, когда я открываю по правой кнопке мыши -> Открыть папку с исследователь

F: \ сайтов \ dnndev.me \ DesktopModules \ CustomerDemo \ CustomerDemo \ Assets

Но когда я тащу CSS или JS файл из файлового проводника в дизайн ASCX страницы, это использовать это место: «~ \ DesktopModules \ CustomerDemo \ Assets \ file.css»

вы можете увидеть, что физический путь имеет 2 папки CustomerDemo и файл перетаскивается из проводника решений, имеющего путь только с одной папкой CustomerDemo.

Я не понимаю этот механизм. Какой из них я должен использовать? Может ли кто-нибудь очистить меня от этого?

Я попробовал этот путь в качестве одного из предложения, но это выглядит, как я пропускаю что-то enter image description here

ответ

0

Используйте DnnJsInclude контроль управления клиентами ресурсов для регистрации сценариев вместо этого DnnCssInclude.

В вашем .ascx:

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

<dnn:DnnJsInclude runat="server" FilePath="~/DesktopModules/CustomerDemo/Assets/JS/fullcalendar.min.js" /> 

ИЛИ в вашем коде позади, вы можете вместо этого использовать ClientResourceManager API:

protected void Page_PreRender(object sender, EventArgs e) 
{ 
    ClientResourceManager.RegisterScript(this.Page, base.ControlPath + "/Assets/JS/fullcalendar.min.js", 100); 
    ClientResourceManager.RegisterScript(this.Page, base.ControlPath + "/Assets/JS/jquery-ui-timepicker-addon.js", 100); 
    ClientResourceManager.RegisterStyleSheet(this.Page, base.ControlPath + "/Assets/CSS/module.css", 100); 
} 
+0

Привет, спасибо. В этом контексте у меня другая путаница на пути к файлу. Я добавил дополнительную информацию в свой вопрос. Речь идет о расположении файла CSS и JS. Это может быть одной из причин не добавления файлов. Не могли бы вы направить меня за это? –

+0

Не могли бы вы мне помочь?Я проклят, поскольку ни один из моих JS не работает так, как ожидалось. –

+0

Нанджи, используйте base.ControlPath, чтобы получить относительный путь к ascx, как это было в приведенном выше примере. Если у вас отключены параметры управления ресурсами клиента в Host> Host Settings, вы должны иметь возможность просмотреть страницу и посмотреть, имеет ли ваш скрипт правильный путь. – DotNetNuclear