当我尝试获取另一页上的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
//
}
}
“设备”为我带来了正确的行,但即使selectedIndexChanged
从GridView
的另一页发出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}}
答案 0 :(得分:1)
我在gridView中找到了解决方案作为页面加载重新加载数据。在使用之前需要重新加载当前页面并更新控件:
int page = (int)Session["Page"];
dgvViewGatesLive.PageIndex = page;
dgvViewGatesLive.DataBind();
GridViewRow row = dgvViewGatesLive.SelectedRow;
答案 1 :(得分:0)
你有两个GridView吗?
我看到您在dgvViewGates
上捕获了索引更改事件。
但是您从dgvViewGatesLive
获取信息。