Làm cách nào tôi có thể bao gồm mã CSS tùy chỉnh & cho mô-đun cụ thể trong DotnetNuke?CSS Trong các Mô-đun DNN
Tôi hiểu rằng nó không giống như trang ASP.Net bình thường.
Làm cách nào tôi có thể bao gồm mã CSS tùy chỉnh & cho mô-đun cụ thể trong DotnetNuke?CSS Trong các Mô-đun DNN
Tôi hiểu rằng nó không giống như trang ASP.Net bình thường.
Nếu mô-đun của bạn có tệp có tên module.css
trong thư mục gốc của thư mục mô-đun, nó sẽ tự động được đưa vào trang có mô-đun.
Đối với CSS và JavaScript khác, bạn nên sử dụng Client Resource Management framework để bao gồm các tài nguyên bạn muốn. Một cái gì đó như thế này:
<%@ Register TagPrefix="dnn"
Namespace="DotNetNuke.Web.Client.ClientResourceManagement"
Assembly="DotNetNuke.Web.Client" %>
<dnn:DnnCssInclude runat="server"
FilePath="~/DesktopModules/MyModule/css/the-style.css" />
<dnn:DnnJsInclude runat="server"
FilePath="~/DesktopModules/MyModule/js/the-script.js"
ForceProvider="DnnFormBottomProvider" />
Để thêm JavaScript bên ngoài với một mô-đun tùy chỉnh:
string externaJs= "externaJs";
Type cstype = System.Reflection.MethodBase.GetCurrentMethod().GetType();
string cstext = "<script src=\"" +
ResolveUrl("~/DesktopModules/ModuleName/js/JsName.js") +
"\" type=\"text/javascript\"></script>";
if (!Page.ClientScript.IsClientScriptBlockRegistered(externaJs))
Page.ClientScript.RegisterClientScriptBlock(cstype, externaJs, cstext, false);
Điều này rất thủ công và sẽ không mở rộng. DNN có API để thực hiện điều tương tự bằng cách sử dụng Framework phụ thuộc của khách hàng để cho phép giảm thiểu, tập hợp và lưu vào bộ nhớ đệm, với ít mã hơn, khả năng sử dụng lại mã nhiều hơn và khả năng mở rộng quy mô tốt hơn. –
Hi! Tôi tìm thấy câu trả lời của bạn về DnnCssInclude và sử dụng nó và nó hoạt động gần như hoàn hảo. Tuy nhiên tôi có một vấn đề nhỏ và tôi đã tự hỏi nếu bạn có thể giúp đỡ. Trường hợp của tôi: Tôi có một điều khiển có chứa một trình hướng dẫn asp.net và tôi sử dụng một css tùy chỉnh cho trình hướng dẫn. Khi nó tải lần đầu tiên một số css (không phải tất cả) không tải đúng (kiểm tra ảnh chụp màn hình ở đây: http://awesomescreenshot.com/0293xq5k49). Khi tôi bấm vào một nút trang postback và sau đó css được áp dụng một cách chính xác (kiểm tra ảnh chụp màn hình ở đây: http://awesomescreenshot.com/0773xq5t90). Có suy nghĩ gì không? –
@PanagiotisPalladinos Tôi nghĩ rằng nếu một số CSS đang tải, nó có thể là một xung đột với một thứ khác trên trang, chứ không phải là vấn đề với cách bạn đang tải CSS – bdukes