至少要给出行号,否则每一行都有"HyperLink3"怎么找得到
System.Web .UI .WebControls .HyperLink tt=new HyperLink ();
tt=(HyperLink)this.DataGrid1.Items[?].FindControl ("HyperLink3");
tt.Text ="ooooo";

解决方案 »

  1.   

    我开始就设了呀,但一运地总是说索引超出范围。必须为非负值并小于集合大小。参数名: index 
      

  2.   

    同意楼上,你并没有指定是DataGrid的那一行去找你的HyperLink,运行起来肯定会有问题,可以在DataGrid的_ItemDataBound里遍历每一行,来找到指定的HyperLink,上面的语句就变为System.Web .UI .WebControls .HyperLink tt=new HyperLink ();
    tt=(HyperLink)e.Item.FindControl("HyperLink3") //HyperLink3为DataGrid的模板列ID
    .....
      

  3.   

    System.Web .UI .WebControls .HyperLink tt=new HyperLink ();
    for(int i=0;i<DataGrid1.Items.Count;i++)
    {
    tt=(HyperLink)this.DataGrid1.Items[i].FindControl ("HyperLink3");
    if(tt != null)
    tt.Text ="ooooo";
    }
      

  4.   

    如果在ItemDataBount或ItemComand事件中需要加判断
    if(e.Item.ItemIndex >-1)
    {
    }