簡體   English   中英

添加和刪​​除CssClass ASP.NET

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM