我正在使用中繼器控件將數據從SqlDataSource填充到我自定義設計的顯示框中。基於SqlDataSource中的數據更改標籤控制屬性在中繼器內
<asp:Repeater ID="Repeater1" runat="server" DataSourceID="SqlDataSource1" OnDataBinding="Repeater_ItemDataBound">
<HeaderTemplate>
</HeaderTemplate>
<ItemTemplate>
<div class="bubble-content">
<div style="float: left;">
<h2 class="bubble-content-title"><%# Eval("CommentTitle") %></h2>
</div>
<div style="text-align: right;">
<asp:Label ID="lbl_category" runat="server" Text=""><%# Eval("CommentType") %>
</asp:Label>
</div>
<div style="float: left;">
<p><%# Eval("CommentContent") %></p>
</div>
</div>
</ItemTemplate>
<FooterTemplate>
</FooterTemplate>
</asp:Repeater>
<asp:SqlDataSource ID="mySqlDataSource" runat="server"
ConnectionString="<%$ ConnectionStrings:myConnectionString %>"
SelectCommand="SELECT [CommentTitle],[CommentType],[CommentContent] FROM [Comments] WHERE ([PostId] = @PostId)">
<SelectParameters>
<asp:QueryStringParameter Name="PostId" QueryStringField="id" Type="String" />
</SelectParameters>
</asp:SqlDataSource>
現在,數據庫中可以有三種類型的「CommentTypes」。我想根據[CommentType]的值更改「lbl_category」的CssClass屬性。
我試着這樣做:
<asp:Label ID="lbl_category" runat="server" CssClass="<%# Eval("CommentType") %>" Text=""><%# Eval("CommentType") %></asp:Label>
但是,這給出了一個錯誤:「服務器控件沒有很好地形成」 而一直沒能找到一種方法,在代碼中實現這一落後。有人可以幫忙嗎?
我編輯了自己的冠軍。請參閱:「[應該在其標題中包含」標籤「](http://meta.stackexchange.com/questions/19190/)」,其中的共識是「不,他們不應該」。 –