(Convert.ToInt64(GridView1.DataKeys[GridView1.SelectedIndex].Value.ToString()))这个是当前编辑行的ID,对吗?那么如何获取这一行的上(下)项的ID呢?

解决方案 »

  1.   

    GridView1.SelectedIndex是选中的行,上下行GridView1.SelectedIndex-1获取+1不就行了
      

  2.   

    我是想在GRIDVIEW里面得到不连续ID、连续顺序的两条数据的ID号!
      

  3.   

    (Convert.ToInt64(GridView1.DataKeys[GridView1.SelectedIndex].Value.ToString()))
    //GridView1.SelectedIndex-1取的不行.它就是表中上一条数据.
      

  4.   

    protected void GridView1_RowCommand(object sender, GridViewCommandEventArgs e)
        {
            switch (e.CommandName)
            {
                case "ViewDetails":
                    // 查看详细
                    Response.Redirect("DownloadViewDetails.aspx?did=" + GridView1.Rows[Convert.ToInt32(e.CommandArgument)].Cells[0].Text);
                    break;
                case "MoveDown":                using (ExtDownloads downloads = new ExtDownloads())
                    {
                            long dID1 = (Convert.ToInt64(GridView1.DataKeys[GridView1.SelectedIndex].Value.ToString())); 
                            long dID2 = (Convert.ToInt64(GridView1.DataKeys[GridView1.SelectedIndex + 1].Value.ToString()));
                            downloads.MoveDown(Convert.ToInt64(dID1), Convert.ToInt64(dID2));                }
                    BindData();
                    break;
            }
        }这里我已经绑定已经绑定了DataKeysnames,不过还是提示索引超出范围,什么回事呢?