我使用以下代码突出显示用户在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(单击会导致回发)。有没有办法在回发之间保存行索引?或者,是否有更好的方法来实现此功能?
谢谢
最佳答案
您可以将值存储在ViewState
或Session
中:
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/