HyperLink hy=(HyperLink)this.DataGrid1.Items[i].Cells[3].FindControl("link1");
string dlbh=hy.Text;
-----------------------------------------------------------------
<asp:TemplateColumn HeaderText="电路编号">
<ItemTemplate>
<asp:HyperLink id="link1" runat="server">
<%# DataBinder.Eval(Container.DataItem,"电路编号")%>
</asp:HyperLink>
</ItemTemplate>
</asp:TemplateColumn>----------------------------------
hy.Text是个空!不知道什么原因!!
谢谢回复!是不是邦定的不能这样得到!
谢谢回复!

解决方案 »

  1.   

    string TootipIsInDatabase()
    {
    string toolTip=string.Empty; for (int i=0;i<this.DataGrid1.Items.Count;i++)
    {
    CheckBox cb = (CheckBox) DataGrid1.Items[i].Cells[0].FindControl("record");
    if(cb.Checked)
    {
    HyperLink hy=(HyperLink)this.DataGrid1.Items[i].Cells[3].FindControl("link1");
    string dlbh=hy.Text;
    if (!IsInDataBase(dlbh.Trim()))
    {
    toolTip+=dlbh+"已经存在数据库,";
    }
    }
    } return toolTip;
    }
    ------------------------------------
    <Columns>
    <asp:TemplateColumn HeaderText="&lt;input name=&quot;record&quot; type=&quot;checkbox&quot; class=&quot;Selectall&quot;&gt;">
    <ItemStyle Wrap="False" Width="40px"></ItemStyle>
    <ItemTemplate>
    <asp:CheckBox id="record" Runat="server"></asp:CheckBox>
    </ItemTemplate>
    </asp:TemplateColumn>
    <asp:TemplateColumn>
    <ItemStyle Wrap="False" Width="40px"></ItemStyle>
    <HeaderTemplate>
    序号
    </HeaderTemplate>
    <ItemTemplate>
    <%# Container.DataSetIndex + 1 %>
    </ItemTemplate>
    </asp:TemplateColumn>
    <asp:BoundColumn DataField="调度单" HeaderText="调度单"></asp:BoundColumn>
    <asp:TemplateColumn HeaderText="电路编号">
    <ItemTemplate>
    <asp:HyperLink id="link1" runat="server">
    <%# DataBinder.Eval(Container.DataItem,"电路编号")%>
    </asp:HyperLink>
    </ItemTemplate>
    </asp:TemplateColumn>
      

  2.   

    改成这样
    HyperLink hy=(HyperLink)this.DataGrid1.Items[i].FindControl("link1"); 
      

  3.   

    控件里面找控件 是需要item去FindControl的!