这是一个已知的问题/问题,无法在动态(代码隐藏)Generated Html标记上使用硬编码(标准)CSS样式设置吗?
在我正在进行的项目中,我正在生成html标记,针对每个元素说明未排序的列表项(...源是数据库查询结果)
为了说明的目的,我会画出这个想法,我认为已经做了很多......
collection = some sql query results returned as `List<string>` type
counter = 0
foreach item in collection
someHtmlString = String.Format("<li id='{0}_{1}'> {0}</li> ", item, counter)
counter ++
因此,对于进入for / foreach循环的每个项目,我制造一组特定的css和html属性,通常它被分成进入循环的列表项的子集,就像你一样通常在这种情况下为每个元素分配一个类,所以碰巧我有桩的属性,随着更具体的设计需要而增长,甚至更多..其他属性作为javascript事件,但大多数风格,
说10 x css属性,设置3或4种类型的设置,这意味着在我的代码中看到脚印不再那么有趣
还有一步之前,我现在可以考虑从文件中读取css样式设置(使用System.IO
),我确实尝试应用这些属性,通过它们所属的位置,在样式.css文件中,但我可以注意到那些样式属性无法应用于style.css
代码/文件生成的代码,而不是硬编码的html标记
所以我想知道,如果你想避免代码背后的那一行,除了从一个单独的文件中读取它(比如我能想到的昏迷),然后解析它,有什么选择:< / p>
说一个 txtfile - 每一行都是 Property , value 。
就像在字典中一样,你可以将它直接读入/加载到文件中的代码中,
dictionary<string, string> StyleDict = new dictionary<string, string>();
styleDict.add(styleProperty, some value);
...etc' (10 lines like this, x 3 or 4 times , as each could be a css class i could use)
我认为我没有想法,将样式应用于生成的HtmlMarkup的正确方法是什么? (这是我做错了还是已知问题?)
答案 0 :(得分:1)
正如Zack T.建议的那样,你可以使用他展示的方法来应用这些风格:
someHtmlString = String.Format("<li id='{0}_{1}' class='listItem'>{0}</li>", item, counter);
现在您抱怨这些样式不适用。为此,您需要检查定义是否在HTML Style
标记内的Head
标记下呈现。或者,指向外部CSS
文件的链接应放在Head
标记内。
<html>
<head>
<style type="text/css">
.listItem
{
background-color:Red;
}
</style>
</head>
<body></body>
</html>