言い換えれば、私は複数のdivを持っていて、それらはすべて1つのdivの下にネストされているとしましょう。コードビハインドに公開したいすべてのフィールドにrunat = "server"と書くのを避ける方法はありますか?
内側divのそれぞれにrunat = "server"と書く必要はなく、コードビハインドからidでアクセスすることができるように、外側divで何かできますか?
言い換えれば、私は複数のdivを持っていて、それらはすべて1つのdivの下にネストされているとしましょう。コードビハインドに公開したいすべてのフィールドにrunat = "server"と書くのを避ける方法はありますか?
内側divのそれぞれにrunat = "server"と書く必要はなく、コードビハインドからidでアクセスすることができるように、外側divで何かできますか?
結果を確認して申し訳ありませんが、コードビハインドでアクセスされるすべての.NETコントロールにはrunat="server"
が必要で、親コントロールはViewState設定のようにカスケードしません。
ええ、それは問題です。あなたはちょうどあなたがinnerHTMLプロパティを変更しようとする可能性がそのように色や何かを変更するには、たとえば、内側のdivタグと、あまりにも複雑ではない何かをしたいなら:
<div id="divTest" runat="server">
<div id="test1" style="color:black">test1</div>
<div id="test2" style="color:black">test2</div>
</div>
protected void Page_Load(object sender, EventArgs e)
{
divTest.InnerHtml = divTest.InnerHtml.Replace("black", "blue");
}
他の方法は、取得するためにjQueryを使用することですすべてのコントロール。
あなたはJavaScriptを書くことができます。私の経験では、私のコードに 'div 'を公開したい時代のほとんどは、私は仕事をするためにJavaScriptを書くのをやめています。 :-) – drdwilcox
[ASP.NET Webformsが "Runat = Server"属性を使用するのはなぜですか?](http://stackoverflow.com/questions/304290/why-does-asp-net-webforms-use-the -runat-server-attribute) –