2016-12-30 6 views
0

DotnetNuke에서 초보자입니다. DotnetNuke 기반 웹 사이트에 추가 할 수있는 모듈을 제공하는 프로젝트를 만들고 있습니다.DotnetNuke (DNN)의 Module 프로젝트에 JQuery를 추가하는 방법과 위치는 어디입니까?

저는 IIS 서버에 www.dnndev.me를 구성하고 그 프로젝트의 DesktopModule 폴더에 프로젝트를 만들었습니다. 빌드하고 www.dnndev.me에 모듈을 추가하고 성공적으로 추가 할 수는 있지만 모듈 프로젝트의 솔루션 탐색기에서 JQuery를 추가 할 위치를 알지 못합니다.

1- JS 및 CSS 파일을 어디에 추가해야합니까? 나는 "Assets", "Assets/CSS", "Assets/JS"폴더를 추가하고 내 솔루션 탐색기에 내 파일을 저장하려고 시도했습니다.

2 - JS/CSS 파일을 ascx 페이지에 포함시키는 방법은 무엇입니까? 가 나는 .js 쇼 웹 페이지의 내 소스에 위의 방법으로

<%@ 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" /> 

에 따라 피곤했지만 그것은 호출하지 않습니다. 내가 길을 따라하려고하면, 그것은

<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'파일과 방법을 프로젝트에 포함하기를 배치를 제안시겠습니까 일? 내가 사용하고

: 비주얼 스튜디오 2015 & DotNetNuke의 8 예약 커뮤니티 PRESS

파일 경로 혼란 :

내가 마우스 오른쪽 버튼으로 클릭하여 열 때이 폴더의 내 물리적 위치 -> 폴더 열기 탐색기

F : \ 웹 사이트 \ dnndev.me \ DesktopModules \ CustomerDemo \ CustomerDemo \ 자산

하지만 ASCX 디자인 페이지에 파일 탐색기에서 CSS 또는 JS 파일을 드래그 할 때,이 위치를 사용 : "~ \ DesktopModules \ CustomerDemo \ 자산 \ file.css"당신은 실제 경로가 CustomerDemo의 2 폴더가 있음을 알 수

단 하나의 CustomerDemo 폴더가있는 경로가있는 솔루션 탐색기에서 끌어온 파일입니다.

이 메커니즘을 이해하지 못합니다. 어느 것을 사용해야합니까? 누군가가 내 마음을 정리할 수 있습니까?

나는 제안의 하나로서이 방법을 시도했지만 내가 대신 DnnCssInclude의 스크립트를 등록하는 것을 enter image description here

답변

0

사용을 클라이언트 자원 관리의 DnnJsInclude 제어를 잃었 것 같습니다. 당신의 .ascx에서

:

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

안녕하세요, 감사합니다 :

<%@ 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를 사용할 수 있습니다. 나는 그 맥락에서 또 다른 파일 경로 혼란을 겪고있다. 내 질문에 더 많은 정보를 추가했습니다. 그것은 CSS와 JS의 파일 위치에 관한 것입니다. 이는 파일을 추가하지 않는 이유 중 하나 일 수 있습니다. 그걸 안내해 주시겠습니까? –

+0

제발 나를 안내해 주시겠습니까?나는 내 JS가 예상대로 작동하지 않기 때문에 붙어있다. –

+0

난지, base.ControlPath를 사용하여 위의 예제에서와 같이 ascx에 대한 상대 경로를 가져옵니다. 호스트> 호스트 설정에서 클라이언트 자원 관리 설정을 해제 한 경우 페이지를 조사하고 스크립트에 올바른 경로가 있는지 살펴야합니다. – DotNetNuclear