4

使用新的 空网站应用程序

我想通过包含一些 css 属性的自定义值的 fie 将样式应用于 aspx 页面,我不确定哪种方法更好。

我仍在测试这个概念,我有一个包含这些值的文件:

width;100px    width;130px    background-color;#aac93f

这些值不是硬编码的,而是由另一个应用程序生成的

我想将它读入应用程序。

我能想到我知道的唯一两种方法:

`File.ReadAllLines` or `File.ReadAllText`.

然后通过后面的代码通过已处理的数据设置 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样式加载自定义值的方式吗?

4

3 回答 3

7

您可以通过使用将 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}
于 2012-12-17T15:57:55.307 回答
5

<style> 标签也可以用作服务器控件

<style type="text/css" runat="server" id="htmlCss"></style>

这将在页面中生成一个 HtmlGenericControl 类型的字段。

在页面生命周期事件之一(Page_Load、Page_Init 等)中,分配文字 CSS 定义,如下所示:

var css = @"
body
{
  background-color:#b0c4de;
}";
htmlCss.InnerHtml = css;
于 2012-12-17T16:19:25.677 回答
0

您还可以将您的自定义 CSS 写入一个 asp.net Literal 对象,您将其放置在您的网络表单中的某个位置,这将使您的所有 css 像这样呈现......

在您后面的代码中:

Literal1.Text = "<style>" + File.ReadAllText(filepathhere) + "</style>";

在您的页面中将呈现:

<style>
    .class1
    {
        width: 100px;
    }

    .class2
    {
        width: 100px;
    }
</style>

然后让您的每个元素引用您的 css 中包含的类。

于 2012-12-17T16:00:49.730 回答