我有一些动态创建并放入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。
答案 0 :(得分:1)