日期:2014-05-18  浏览次数:20542 次

请问如何指向GridView的Template中的对象?
假设GridView1中的Template中放置有一个 <asp:lable1> ,一个 <asp:Hyperlink1> 和一个 <asp:Image1> ,请问:如何在gridview1_RowDataBound()事件代码中来指定某个对象呢?如果是BoundFiled对象的话我知道可以用:
if   (e.Row.RowType   ==   DataControlRowType.DataRow)
                {
if   ((e.Row.Cells[0].Text).Length   >   10){     //头一个字段
      .....;
}
if   ((e.Row.Cells[1].Text).Length   >   10){     //第二个字段
      .....;
}
}
来引用它们,但若不是字段的话我不知道该如何来引用,我尝试用:
  if   (e.Row.RowType   ==   DataControlRowType.DataRow)
                {
                      if   ((e.Row.Cells[ "HyperLink1 "].Text).length   >   10)
结果报错:无法从 "string "转换为 "int ",到底该如何引用呢?谢谢!

------解决方案--------------------
比如:
TextBox tb = gridview1.Rows[e.NewRowIndex].FindControl( "ControlID ") as TextBox;
if (tb != null)
{
tb.Text = " ";
}