• 締切済み

ASP.Net DataBound時Style変更

お世話になります。 ASP.Net 初心者ではありますが、こちらで多岐に渡り質問させていただき、日々成長できていると思っております。この場をお借りして感謝申し上げます。 なるべく自身で解決したいと思うのですが、また壁に当たっております。 FormViewにてある伝票の詳細を表示しております。 HTML上に Style143 の属性を持つタグがるのですが、このタグの中にあるデータバインドされた Label の値がマイナスの場合に Style143 の背景色を赤にしたいのですが、やり方がわかりません。 Labelの背景色を変えて試してみたのですが、余白の関係上、見た目が悪いので、タグ自体の属性である Style143 の背景色を変えたいのです。 上級者様には容易な事ではあると思いますが、何卒ご教授いただければと存じます。 よろしくお願い申し上げます。

みんなの回答

  • shockatz
  • ベストアンサー率80% (153/191)
回答No.2

こんにちは。 > HTML上に Style143 の属性を持つタグがる というのは、 .Style143 {  /* 何か */ } というCSSがすでに定義ずみということですよね。 なら、CSS項目を1個追加して、 .styleWarning {  border:1px solid red; /* 赤枠囲み */  backgound-color: #ffcccc; /* 背面赤 */ } そのうえで、サーバサイド側で WebControl.CssClass &= " styleWarning" とかやればいいんでないですか? CssClassというのはつまり、HTMLでいう"class="なんで、列記記述で class="Style143 styleWarning" とかすれば、ラベルに限らずTextBoxなどにも使えて便利かなあ、と。 最近はCSSはクラス記述で要素を書いておき、列記して属性を重ねるのが流行のようです。 外していたらすいません

kyokotan12
質問者

補足

shockatzさん 大変お世話になっております。 shockatzさん のお教えでなんとか前に進んでおります。 今後ともよろしくお願い申し上げます。 さて、下記のCssを追加しまして .back_red     {     background-color:Red;     } ------------------------- FormView1_DataBoundのイベントで 問題のコントロール.CssClass = "back_red" 上記を追加したのですが、問題のコントロールの背景色しか赤になりません。枠の関係上、タグとコントロールの間に隙間があり、背景が全て赤にならないのです。タグ自体の背景色を赤にしたいのです。 タグのCssClass と 問題のコントロールのCssClass は同じにしてあるのですが、このイベントではタグの背景色は変更できないのでしょうか? 何かお気づきに点がございましたら、何卒ご教授いただけますようお願い申し上げます。

  • onos
  • ベストアンサー率81% (127/155)
回答No.1

マイナスのときにCssClassを設定して適用するCSSで背景色変える、とかできないかな。

kyokotan12
質問者

補足

onosさん お世話になります。 ソースを見ると CssClass="style143" となっております。 これは既に CssClass になってるということではないのでしょうか? VBから この CssClass にアクセスして CssClass("Style143").BackColor = 色の指定みたいな感じにはできないでしょうか? 例題を示していただけると大変ありがたいです。 CssClass でクグっても 上記のような例題がなく困っております。

関連するQ&A

専門家に質問してみよう