Tôi mới vào dotnetnuke, vì vậy tôi không biết cách liên kết tệp js với mô-đun, kiểm soát các mẫu trong dotnetnuke.Làm cách nào để liên kết tệp JS với các mô-đun, điều khiển và mẫu trong dotnetnuke?
bất cứ ai có thể giúp tôi xin vui lòng ...
Tôi mới vào dotnetnuke, vì vậy tôi không biết cách liên kết tệp js với mô-đun, kiểm soát các mẫu trong dotnetnuke.Làm cách nào để liên kết tệp JS với các mô-đun, điều khiển và mẫu trong dotnetnuke?
bất cứ ai có thể giúp tôi xin vui lòng ...
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
tôi không tin rằng câu trả lời Chris Hammond sẽ cho phép nó sử dụng Khuôn khổ phụ thuộc của khách hàng cho phép nén, giảm thiểu và kết hợp các tệp. Vì vậy, tôi tin rằng nó thích hợp hơn để sử dụng DNNJsInclude. Bạn có thể tìm hiểu thêm tại đây: http://www.dotnetnuke.com/Resources/Wiki/Page/Client-Resource-Management-API.aspx
Đâ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.