Lon*_*der 3 css c# asp.net webforms
使用新的 Empty网站应用程序
我想通过一个包含css属性的自定义值的fie将样式应用于aspx页面,我不确定哪种方法更好.
我还在测试这个概念,我有一个包含这些值的文件:
width;100px width;130px background-color;#aac93f
Run Code Online (Sandbox Code Playgroud)
这些值不是硬编码的,而是由另一个应用程序生成的
我想把它读进应用程序.
我能想到我知道的两种方式:
`File.ReadAllLines` or `File.ReadAllText`.
Run Code Online (Sandbox Code Playgroud)
然后通过代码隐藏通过proccessed数据设置html元素样式属性
htmltag.Style.Add("width", setting1)....etc
Run Code Online (Sandbox Code Playgroud)
要么
我还可以从动态/程序化数据加载样式表
<%@ 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>
Run Code Online (Sandbox Code Playgroud)
这样将保存带有加载值的格式化样式.
是为css样式加载自定义值的方法?
您可以使用.NET将CSS加载到.NET中的对象
objectName.Attributes.Add("style", "width:100px; width:130px; background-color:#aac93f");
Run Code Online (Sandbox Code Playgroud)
但是,建议不要使用此选项,因为如果您具有相同的属性,则不会应用css的内联编码和上部css设置.
最好的方法是设置一个外部CSS类并在其中设置所有这些类:
objectName.Attributes.Add("class", "exampleClass");
Run Code Online (Sandbox Code Playgroud)
在你的CSS类中:
.exampleClass{width:100px; width:130px; background-color:#aac93f}
Run Code Online (Sandbox Code Playgroud)
<style> 标签也可以用作服务器控件:
<style type="text/css" runat="server" id="htmlCss"></style>
Run Code Online (Sandbox Code Playgroud)
这将在页面中生成一个 HtmlGenericControl 类型的字段。
在页面生命周期事件之一(Page_Load、Page_Init 等)中,分配文字 CSS 定义,如下所示:
var css = @"
body
{
background-color:#b0c4de;
}";
htmlCss.InnerHtml = css;
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
14668 次 |
| 最近记录: |