使用新的空网站应用
我想通过一个包含css属性的自定义值的fie将样式应用于aspx页面,我不确定哪种方法更好。
我仍在测试这个概念,我有一个包含这些值的文件:
width;100px width;130px background-color;#aac93f
这些值不是硬编码的,而是由另一个应用程序生成的
我希望将其读入应用程序。
我能想到我所知道的两种方式:
`File.ReadAllLines` or `File.ReadAllText`.
然后通过代码隐藏通过proccessed data
设置html元素样式属性htmltag.Style.Add("width", setting1)....etc
或
我还可以从动态/程序化数据中加载样式表
<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default.aspx.cs" Inherits="_Default" %>
<%@ Register Assembly="AjaxControlToolkit" Namespace="AjaxControlToolkit" TagPrefix="cc1" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<!-- and put a C# server code like below -->
<%=someVariableOrCsMethodReturnedValue%>
</head>
这样将保存带有加载值的格式化样式。
是为css样式加载自定义值的方法吗?
答案 0 :(得分:6)
您可以使用
将CSS加载到.NET中的对象objectName.Attributes.Add("style", "width:100px; width:130px; background-color:#aac93f");
但是,建议不要使用此选项,因为如果您具有相同的属性,则不会应用css的内联编码和上部css设置。
最好的方法是设置一个外部CSS类并在其中设置所有这些类:
objectName.Attributes.Add("class", "exampleClass");
在您的CSS课程中:
.exampleClass{width:100px; width:130px; background-color:#aac93f}
答案 1 :(得分:4)
&lt; style&gt;标签也可以是used as server control:
<style type="text/css" runat="server" id="htmlCss"></style>
这将在页面中生成一个HtmlGenericControl类型的字段。
在其中一个页面生命周期事件(Page_Load,Page_Init等)中,分配文字CSS定义,如下所示:
var css = @"
body
{
background-color:#b0c4de;
}";
htmlCss.InnerHtml = css;
答案 2 :(得分:0)
您也可以将自定义CSS编写到一个asp.net Literal对象中,然后将somwhere放在webform中,这样可以渲染所有css ......
在你的代码背后:
Literal1.Text = "<style>" + File.ReadAllText(filepathhere) + "</style>";
在您的页面中呈现:
<style>
.class1
{
width: 100px;
}
.class2
{
width: 100px;
}
</style>
然后让每个元素引用css中包含的类。