GridView选择的索引在不同的页面上更改

时间:2014-11-25 17:37:34

标签: c# asp.net .net

当我尝试获取另一页上的selectedIndexChanged的值时,我遇到了问题 在GridView内。

protected void dgvViewGatesLive_SelectedIndexChanged(object sender, EventArgs e)
{
    GridViewRow row = dgvViewGatesLive.SelectedRow;
    if (row.Cells.Count >= 0)
    {
        Device = row.Cells[1].Text;
        Session["actualDevice"] = Device;
        //some code
        //
    }
}

“设备”为我带来了正确的行,但即使selectedIndexChangedGridView的另一页发出Device = row.Cells[1].Text;,也会显示第一页的数据:

如果我从第2页开始选择第一行,则上面的代码会将设备放在第1页的第一行。int page = (int)Session["Page"]; dgvViewGatesLive.PageIndex = page; dgvViewGatesLive.DataBind(); GridViewRow row = dgvViewGatesLive.SelectedRow;

编辑1:

我发现解决方案是pageload在gridView中重新加载数据。在使用之前需要重新加载当前页面并更新控件:

{{1}}

2 个答案:

答案 0 :(得分:1)

我在gridView中找到了解决方案作为页面加载重新加载数据。在使用之前需要重新加载当前页面并更新控件:

int page = (int)Session["Page"];
 dgvViewGatesLive.PageIndex = page;
 dgvViewGatesLive.DataBind();
 GridViewRow row = dgvViewGatesLive.SelectedRow;

答案 1 :(得分:0)

你有两个GridView吗?

我看到您在dgvViewGates上捕获了索引更改事件。

但是您从dgvViewGatesLive获取信息。