if ( e.Item.ItemIndex < 0 || e.Item.ItemIndex >= tmptable.Count )
{
return;
}
else
{
if(e.Item.ItemType==ListItemType.AlternatingItem|| e.Item .ItemType ==ListItemType.Item)
{
Label m_img_logo = ( Label )e.Item.FindControl( "m_img_logo" );
System.Web.UI.WebControls.Label m_companyname = ( System.Web.UI.WebControls.Label )e.Item.FindControl( "m_companyname" );
System.Web.UI.WebControls.Label m_address = ( System.Web.UI.WebControls.Label )e.Item.FindControl( "m_address" );
System.Web.UI.WebControls.Label m_post = ( System.Web.UI.WebControls.Label )e.Item.FindControl( "m_post" );
System.Web.UI.WebControls.Label m_telpone = ( System.Web.UI.WebControls.Label )e.Item.FindControl( "m_telpone" );
}
}
------------------------------
就在这里:第一次,可以找的到这些Label,但第二次就找不着了?
{
return;
}
else
{
if(e.Item.ItemType==ListItemType.AlternatingItem|| e.Item .ItemType ==ListItemType.Item)
{
Label m_img_logo = ( Label )e.Item.FindControl( "m_img_logo" );
System.Web.UI.WebControls.Label m_companyname = ( System.Web.UI.WebControls.Label )e.Item.FindControl( "m_companyname" );
System.Web.UI.WebControls.Label m_address = ( System.Web.UI.WebControls.Label )e.Item.FindControl( "m_address" );
System.Web.UI.WebControls.Label m_post = ( System.Web.UI.WebControls.Label )e.Item.FindControl( "m_post" );
System.Web.UI.WebControls.Label m_telpone = ( System.Web.UI.WebControls.Label )e.Item.FindControl( "m_telpone" );
}
}
------------------------------
就在这里:第一次,可以找的到这些Label,但第二次就找不着了?
1)e.Item.ItemIndex >= tmptable.Count ,这个tmptable是否在第2次绑定的时候依然有值?
2) 状态改变了,加入控件是放在模板列的itemTemplate里,那么如果某一行的状态改变为edit的话控件就找不到了
我调试跟踪过,是第二次执行到Label m_img_logo = ( Label )e.Item.FindControl( "m_img_logo" );
时,找不到m_img_logo 控件下面控件也是一样找不到。
所以:1)我要绑定的值还在
2)我只是显示,没有改变过它的状态