如何将样式文本转换为C#对象,如class / hashTable / collection?

我有这样的样式文字:

".abc {border: 1px solid blue;color:black;...} .abc{background-image:url('http://example.com/images/a.png')...} #abcd {color: blue}..." 

我需要在服务器中编辑此文本(更改背景图像或添加颜色属性…),然后将其另存为文本。

我认为最好的方法是将此文本转换为ac#object,例如class / hashTable / collection …

有人可以帮我解决这个问题吗?

谢谢。

我的建议是尽可能在C#代码中保留样式信息。 最好在CSS文件中定义与不同样式相对应的不同类,然后仅处理类名称服务器端。

使用CssStyleCollection内置类。

 System.Web.UI.WebControls.Style style = new System.Web.UI.WebControls.Style(); // you can set various properties on style object. CssStyleCollection cssStyleCollection = style.GetStyleAttributes(SOME_USER_CONTROL OR YOUR PAGE); cssStyleCollection.Add("border", "1px solid blue"); // etc 

另一种选择是使用以下结构:

 List>> cssValues = new List>>(); cssValues.Add(new KeyValuePair>("abc", new List> { new KeyValuePair("border", "1px solid blue"), new KeyValuePair("color", "black"), // so on })); 

我们使用KeyValuePairs列表而不是字典,因为CSS类可以重复,并且不保证唯一性。