2013-08-22 41 views

Trả lời

4

Nếu bạn muốn bao gồm các file JS, bạn nên đặt chúng vào một thư mục trong module của bạn (thường là một thư mục JS)

Sau đó, trong codebehind bạn có thể sử dụng cú pháp sau

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); 

ví dụ từ: https://github.com/ChrisHammond/dnnCHAT/blob/master/View.ascx.cs

2

Đây là cách tôi làm. Tôi đã xây dựng chức năng trợ giúp này. Lưu ý: này đòi hỏi DNN 6.1 trở lên

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 
} 

này sẽ cho phép bạn tận dụng được xây dựng trong khách hàng phụ thuộc khung. Bạn tránh chèn một kịch bản nếu nó đã tồn tại, cho phép nén, bạn có thể chỉ định vị trí (tiêu đề, phần thân trên cùng, phần thân dưới cùng) và cũng đặt mức ưu tiên tập lệnh. Như bạn có thể thấy, mức độ ưu tiên mặc định là 100 (các phương tiện số thấp hơn sẽ được đặt cao hơn) và vị trí mặc định cho tập lệnh là phần cuối thân máy. Chúc may mắn.