- ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:ASP.Net DataBound時Style変2)
ASP.Net DataBound時Style変更の方法
このQ&Aのポイント
- ASP.NetのFormView_DataBoundイベントでLabelのスタイル変更はできるが、タグの背景色を変更する方法がわからない。
- JavaScriptを使用して、document.getElementByIdで指定したタグの背景色を変更することができる。
- IDが"Great"でスタイルが"newStyle1"の場合、document.getElementById("Great").style.borderColor = "red"と記述することで背景色を変更できる。
- みんなの回答 (1)
- 専門家の回答
質問者が選んだベストアンサー
質問の遷移が早すぎると思うのですが。。 いつの間にか文面も変わっていて、戸惑いました。 結論から申し上げますと、サーバイベントであるItemDataBound中に、クライアントスクリプトであるJavaScriptをfireさせるのは、無理があります。 なので、サーバイベント中に、当該のHtml要素のStyleを変更するのがいいと思います。 <asp:FormView ID="FormView1" runat="server" ondatabound="TestDataBound"> <ItemTemplate> <div runat="server" id="divTest"> <asp:TextBox ID="TextBox1" runat="server"></asp:TextBox> </div> </ItemTemplate> </asp:FormView> protected void TestDataBound(object sender, EventArgs e) { var divTest = (HtmlGenericControl)this.FormView1.FindControl("divTest"); divTest.Style["background-color"] = "red"; } とかじゃ駄目ですか?
お礼
shockatzさま 大変お世話になっております。 大変申し訳ありませんでした。 JavaScript の document.getElementById で解決できるのかなと、質問を遷移させてしましました。改めてお詫び申し上げます。 Asp.Net のみならず、サーバーイベント、クライアントスクリプト、HTMLの要素、仕様なども合わせて勉強しないといけないと改めて思い知らされました。 例題のプログラムで、実現したかった、タグの背景色を変える事ができました。shockatzさまの叡智に感謝いたしております。 ありがとうございました。