GridView 分页后,DataKeyNames 不起作用,求教!
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
BindGV1();
}
}
void BindGV1()
{
this.GV1.DataSource =getData();
this.GV1.DataKeyNames = new string[] { "XBNO" };
this.GV1.DataBind();
}
protected void GV1_PageIndexChanging(object sender, GridViewPageEventArgs e)
{
GV1.PageIndex = e.NewPageIndex;
BindGV1();
}
protected void btndistext_Click(object sender, EventArgs e)
{
this.TextBox1.Text = GV1.DataKeys[0]["XBNO"].ToString().Trim();
}
以上代码,在开发的机子上能正确运行,得到预想结果
但,把编译好的代码移植到别的机子上,在没有翻页前,也能取得正确的XBNO值,翻页后,就出错了, 出现“index was out of range "了
百思不得其解,特向大侠请教!
------解决方案-------------------- Refer here:
http://www.cnblogs.com/insus/archive/2013/04/14/3020327.html
------解决方案-------------------- 引用: 不是这个原因!
程序传过去给别人测试才发现这个的问题的
在自己的机子,是没有这个问题的,连自己都不信有这个问题,今天才用另一台机子测试真的有这个问题
故写一个小程序,来测试,也有这个问题,是不是我移植时 应安装个多什么组件?不然,为什么会出这这个问题!
移植过去的机器数据显示和分页都正吗?另外看看.net framework版本是否有差异
------解决方案-------------------- 分页用的内置aspnetpage还是?