if(e.CommandName == "SelectRow")
{
Response.Redirect("/Admin/target.aspx?CategoryID=" +    dgdTargetCtg.DataKeys[e.Item.ItemIndex].ToString());
dgdTargetCtg.SelectedIndex = e.Item.ItemIndex;
         应该这样用把:
         e.Item.BackColor="#0000FF";
}

解决方案 »

  1.   

    谢谢,我已经在DataGrid中设了<SelectedItemStyle BackColor="#FFEEA2"></SelectedItemStyle>
    所以不用指定背景色的了.我用断点来调试,发现Response.QueryString的值是在DataGrid完全显示完以后才取到,所以不能够改变SelectedIndex的背景色.另外,当我点LinkButton去到/Admin/target.aspx?CategoryID=" +    dgdTargetCtg.DataKeys[e.Item.ItemIndex].ToString()以后,再点击edit,cancel,update等命令却可以改变SelectedIndex的背景色.但要再点击其它LinkButton去到CategoryID不同时,又会不能改变了
      

  2.   

    在你第4步中加如:
    BindTargetCtg();只给dgdTargetCtg.SelectedIndex 赋值而不绑定是没用的。
      

  3.   

    将LinkButton的CommandName设为"Select"
      

  4.   

    只有 设为"Select"时,才会有用