[英]Add and remove CssClass ASP.NET
我的ASP.NET應用程序有一種奇怪的行為。 我想在網格視圖中更改當前所選行的顏色。
我的GridView定義如下:
<asp:GridView [..] OnSelectedIndexChanged="SUPResultList_SelectedIndexChanged">
[..]
<RowStyle CssClass="DataGridItem" />
<AlternatingRowStyle CssClass="DataGridAlternateItem" />
</asp:GridView>
在我的代碼隱藏中,我有:
protected void SUPResultList_SelectedIndexChanged(object sender, EventArgs e)
{
GridView grid = sender as GridView;
// I remove the class "selected" from the older row
foreach (GridViewRow row in grid.Rows)
{
row.CssClass = row.CssClass.Replace("AdminRowSelected", String.Empty);
}
grid.SelectedRow.CssClass = String.Join(" ", grid.SelectedRow.CssClass, "AdminRowSelected");
}
可能有更好的方法來做我想要的事情嗎?
無論如何,當我的gridview首次渲染時,我的行有很好的類。 但是當我選擇一行並輸入SUPResultList_SelectedIndexChanged時,row.CssClass為空(因此row.CssClass.Replace(“AdminRowSelected”,String.Empty)的結果為“”和String.Join(“”,grid.SelectedRow。 CssClass,“AdminRowSelected”);是“AdminRowSelected”)。 處理完畢后,我丟失了原來的類,行變為白色(所選行除外)。
我也試過這個而不是我的循環,但它也失敗了:
grid.RowStyle.CssClass = "DataGridItem";
grid.AlternatingRowStyle.CssClass = "DataGridAlternateItem";
你知道發生了什么(以及如何糾正它^^)?
提前致謝 !
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.