GridView 内の要素の CSS クラスに基づいて、ページのスタイルをプログラムで切り替えようとしています。いくつかの通常の (テンプレート化されていない) 要素のクラス属性でこれを成功させましたが、何らかの理由でテンプレート コントロール内では機能しないようです。Visual Studio は、データ バインディング コードを不透明なテキストとして扱います (実際、それに応じて不透明な文字列に色を付けます)。と では、この方法でデータバインディングはサポートされていませんか?
これが事実であると言うクラスのドキュメントには何も見つかりませんが、一方でそれは機能せず、Visual Studio はこれが設計どおりであることを示唆しているようです。
編集:例。ここでは、Gridview が宣言されており、列の定義で、ItemStyle-CssClass 属性が 2 つの値に設定されています。1 つはハードコードされ、もう 1 つは列挙型変数の現在の値から取得されます。この場合、StyleHelper は静的クラスであり、Festivity プロパティは StyleSelectorEnum 型であり、現在の値は StyleSelectorEnum.PartyMode であると想定します。
<asp:GridView runat="server">
<Columns>
<asp:TemplateField ItemStyle-CssClass="style1 <%= Lib.Web.StyleHelper.Festivity.ToString() %>" />
<ItemTemplate>
<div />
</ItemTemplate>
</asp:TemplateField>
</Columns>
</asp:GridView>
この例では、生成されたテーブルには、次のように表示される td エントリを持つ行が含まれます。
<td class="style1 <%= Lib.Web.StyleHelper.Festivity.ToString() %>" >
実際には、次のようになることを望んでいました。
<td class="style1 PartyMode" >