Tôi có một trang web được triển khai cho hơn một chục khách hàng. Trang web chính có mẫu cơ bản và mỗi khách hàng có một thư mục khách hàng ghi đè các màu. Vấn đề là có rất nhiều tệp CSS, do đó thực hiện thay đổi buộc chúng tôi cập nhật mọi ứng dụng khách mất một thời gian dài. Quá trình xây dựng tự động sẽ thay thế các tệp được cập nhật.Sử dụng C# để tự động tạo các tệp CSS
Thay vào đó, tôi muốn thay đổi tệp CSS thành liên kết người dùng và các liên kết người dùng đó có thể kế thừa từ một điều khiển người dùng khác nơi lưu trữ giá trị cụ thể của khách hàng.
Vì vậy, thay vì có tệp forms.css và sau đó tệp /client/forms.css tôi sẽ có tệp Forms.ascx kế thừa từ một điều khiển người dùng có chứa màu.
Ex:
<%@ Control Language="C#" ClassName="Forms" %>
<%@ Register TagPrefix="css" TagName="Client" Src="~/css/ClientStyling.ascx" %>
/* CSS Document */
body
{
color:<%=Client.BodyColor%>
}
Sau đó masterpage sẽ kế thừa từ các usercontrol để thay thế. Điều này sẽ làm cho việc duy trì các trang web của khách hàng dễ dàng hơn nhiều.
Giải pháp này có hiệu quả và được khuyến nghị không? Hoặc là có một cách tốt hơn để thực hiện cùng một kết quả cuối cùng?
Nếu điều này là có thể, nó cũng sẽ có thể có kiểm soát Forms.ascx đầu ra đánh dấu như CSS? Hoặc làm cho phần mở rộng .css và vẫn có thuộc tính ascx?
Bạn có dự tính Client.BodyColor đến từ cơ sở dữ liệu hoặc tệp cấu hình không? –
Nó sẽ được mã hóa cứng trong một usercontrol. Quá trình xây dựng tự động sẽ chăm sóc nó. –