我使用以下代码突出显示用户在gridview中单击的行(并取消突出显示先前选择的行):

    protected void PartListRowClicked(object sender, GridViewRowClickedEventArgs e)
    {
        pnewrow = (GridViewRow)PartList.Rows[e.Row.RowIndex];
        pnewrow.BackColor = Color.Blue;
        pnewrow.ForeColor = Color.White;
        if (poldrow != null)
        {
            poldrow.BackColor = Color.Empty;
            poldrow.ForeColor = Color.Black;
        }
        poldrow = pnewrow;
    }


但是,在回发之后,poldrow对象总是重置为null(单击会导致回发)。有没有办法在回发之间保存行索引?或者,是否有更好的方法来实现此功能?

谢谢

最佳答案

您可以将值存储在ViewStateSession中:

public int CurrentRowIndex
{
    get
    {
        return ViewState["rowindex"] != null ?
               int.Parse(ViewState["rowindex"]) :
               0;
    }

    set
    {
        ViewState["rowindex"] = value;
    }
}

关于c# - 在回发之间存储GridViewRow对象,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/12394488/

10-10 13:20