如何以及在何处在DotnetNuke(DNN)的Module项目中添加JQuery?

时间:2016-12-30 04:25:32

标签: javascript jquery css dotnetnuke-module dotnetnuke-8

我是DotnetNuke的初学者。我正在创建一个项目,提供一个可以添加到基于DotnetNuke的网站的模块。

我在我的IIS服务器中配置了www.dnndev.me,并在其DesktopModule文件夹中创建了项目。我可以成功创建,构建和添加我的模块到www.dnndev.me,但我不知道在我的模块项目的解决方案资源管理器中添加JQuery的位置。

1-我应该在哪里添加我的JS和CSS文件?我尝试过添加文件夹"资产","资产/ CSS","资产/ JS"并将我的文件放在我的解决方案资源管理器中。

2-如何在ascx页面中包含JS / CSS文件? 我已经厌倦了

<%@ 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和&#39; .css&#39;文件以及如何将它们包含在项目中?

  

我正在使用:Visual Studio 2015&amp; DotnetNuke 8 Commnunity

文件路径混淆:

这是我通过右键单击打开文件夹的物理位置 - &gt;使用文件夹资源管理器打开

F:\网站\ dnndev.me \ DesktopModules \ CustomerDemo \ CustomerDemo \资产

但是,当我将CSSJS文件从文件资源管理器拖到ascx设计页面时,它会使用以下位置:&#34;〜\ DesktopModules \ CustomerDemo \ Assets \ file.css&#34;

您可以看到物理路径有2个CustomerDemo文件夹,并且该文件从解决方案资源管理器中拖出,其路径只有1个CustomerDemo文件夹。

我不了解这种机制。我应该使用哪一个?有人可以清楚我的想法吗?

我尝试过这种方式作为建议之一,但看起来我错过了一些东西 enter image description here

1 个答案:

答案 0 :(得分:0)

使用客户端资源管理的for控件来注册脚本而不是DnnJsInclude

在.ascx中:

DnnCssInclude

或者在您的代码中,您可以改为使用ClientResourceManager API:

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

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