2009-05-06 16 views
0

CSSクラスで定義されたスタイルの値を取得するにはどうすればよいですか?コード内のCSSクラスプロパティ値を取得する方法

マークアップがあります

CssClass="grdTextBox" Text="aaaaaaaabbbbbbbccccccc" 

CSSスタイルがある:

.grdTextBox {FONT-SIZE: 12px; FONT-FAMILY: verdana; } 

は.csファイルがあります。

string cssClass = txtComments.CssClass; 
Response.Write(" cssClass is : " + cssClass); 

どのように私は、フォントサイズの値を見つけることができますかコードの背後にあるフォントファミリー

スタイルタグ内にある場合、またはテキストボックスの属性である場合は、それらを見つけることができます。しかし、それらがCSSクラスで定義されている場合、どのように値を見つけることができますか?

答えて

5

あなたはしていません。実際の説明がないため、CSSはクライアント側の技術です。 .cssファイルのスタイルは、ブラウザがレンダリングするまでhtml要素に直接関連付けられません。

0

あなたはできません。

ASPXで宣言したスタイルは出力にマージされますが、私が知る限りコードビハインドでは表示されません。

MyControl.Style.Add( "font-size"、 "12px")のようなコレクションに別のスタイルを追加した場合にのみ、そこに配置されます。

0
Me.Menu.Style("margin-top") = "170px" 

インラインスタイルを使用する場合は変更できます。それ以外の場合は、独自のCSSタイプオブジェクトを作成してCSSを操作できます。

実際には、人々がダウンロードして貢献できるように、実際にはそのようなライブラリを構築することができます。

1

私は同じ問題に直面しています。私は、.cssファイルを開き、要求されたスタイルを手作業で検索してコンテンツを返すことで、解決策の1つがあると思います。

これは手作業での解析が必要で、おそらく複数の.cssファイル、またはこのソリューションを少し恐ろしいものにする複雑なスタイルがありますが、「不可能」より優れていると思います。

より洗練されたソリューションをお聞きしたいと思います。

0

これはHtmlAgilityPackで実行できます。コード例:

var doc = new HtmlAgilityPack.HtmlDocument(); 
doc.Load("PageUrl"); 

IList<HtmlNode> nodes = doc.QuerySelectorAll("div .my-class[data-attr=123] > ul li"); 
HtmlNode node = nodes.QuerySelector("p.with-this-class span[data-myattr]"); 
関連する問題