2013-08-22 21 views

Odpowiedz

4

Jeżeli chcesz dołączyć pliki JS należy umieścić je w folderze w module (zazwyczaj folder JS)

Następnie w kodzie można użyć następującą składnię

ClientResourceManager.RegisterScript(Parent.Page, "~/Resources/Shared/scripts/knockout.js"); 
ClientResourceManager.RegisterScript(Parent.Page, "~/desktopmodules/DnnChat/scripts/moment.min.js"); 
ClientResourceManager.RegisterScript(Parent.Page, "~/desktopmodules/DnnChat/scripts/DnnChat.js",150); 

przykład z: https://github.com/ChrisHammond/dnnCHAT/blob/master/View.ascx.cs

2

Tak to robię. Zbudowałem tę funkcję pomocnika. Uwaga: wymaga dnn 6.1 i powyżej

protected void InsertClientScripts(string scriptUrl, int priority = 100, ScriptLocation scriptLocation = ScriptLocation.Default) 
{ 
    switch (scriptLocation) 
    { 
     case ScriptLocation.Header: 
      ClientResourceManager.RegisterScript(this.Page, scriptUrl, priority, "DnnPageHeaderProvider"); 
      break; 
     case ScriptLocation.BodyTop: 
      ClientResourceManager.RegisterScript(this.Page, scriptUrl, priority, "DnnBodyProvider"); 
      break; 
     default: 
      ClientResourceManager.RegisterScript(this.Page, scriptUrl, priority, "DnnFormBottomProvider"); 
      break; 
    } 
} 

public enum ScriptLocation 
{ 
    Header, 
    BodyTop, 
    Default 
} 

To pozwoli Ci wykorzystać wbudowany klient Dependency Framework. Unikasz wstawiania skryptu, jeśli już istnieje, pozwala na kompresję, możesz określić położenie (nagłówek, treść, ciało-dół), a także ustawić priorytet skryptu. Jak widać, domyślnym priorytetem jest 100 (mniejsza liczba oznacza, że ​​zostanie umieszczona wyżej), a domyślna lokalizacja dla skryptów jest najniższa. Powodzenia.