动态GridView的PostbackUrl不是我认为应该是的

时间:2011-01-19 21:41:08

标签: c# asp.net gridview

我有一些动态创建并放入PlaceHolder的GridView。当我将鼠标悬停在Select按钮上时,它显示__doPostBack('ctl00$bodyPlaceHolder$ctl0X','Select$Y'),其中X =我认为是页面的GridView / Control索引,Y =该GridView的行号。
由于它是动态创建GridViews,因此命名为ctl0X是有意义的,但在PostBack上如何使用此信息?
如果添加SelectedIndexChanged EventHandler工作,我甚至不会遇到这个问题,但它永远不会被调用 我发现了另外一个这样的问题,但答案是在我的GridViews中添加一个GridView,它也必须是动态的,这让我回到原来的问题。




修改
好的,所以我设置了gridViewDynamic.ID = "blahblah" + r.LastName,从而为每个GridView提供了一个唯一的名称,所以在我获得__doPostBack('ctl00$bodyPlaceHolder$blahblahSmith',Select$Y的页面鼠标悬停时,我仍然无法访问PostBack上的项目,因为他们不再存在即可。因此,我将相同的GridView创建代码添加到if(IsPostBack),然后调用GridView gView = (GridView)this.Page.FindControl(blahblahSmith)。太棒了,gView不是空的。但是行中的所有数据都是。调用gView.Rows[0]将返回null。

1 个答案:

答案 0 :(得分:1)