我正在尝试基于 GridView 中元素的 CSS 类以编程方式切换页面上的样式。我已经在几个普通(非模板化)元素的类属性中成功地做到了这一点,但由于某种原因,它似乎在模板控件中不起作用。Visual Studio 将数据绑定代码视为不透明的文本(事实上,甚至将其相应地着色为不透明的字符串)。是否不支持以这种方式对 和 进行数据绑定?
我在类文档中找不到任何说明这种情况的内容,但另一方面它不起作用,Visual Studio 似乎暗示这是按设计的。
编辑:一个例子。这里声明了一个Gridview,在列定义中,ItemStyle-CssClass属性设置为两个值;一个是硬编码的,另一个取自枚举变量的当前值。假设本例中 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" >