在FormView中找不到控件?

时间:2011-05-24 04:18:40

标签: c# asp.net formview findcontrol

我需要在<a>控件中找到此FormView标记,我需要根据条件删除此标记但我无法使用FormView.FindControl方法找到它

<asp:UpdatePanel ID="upDiscipline" runat="server">
   <ContentTemplate>
        <asp:FormView ID="fvMediaIntro" runat="server">
           <ItemTemplate>           
                  <div class="clipControls">
                     <a runat="server" id="iNeedToFindThis" href="#">here</a>
                  </div>
           </ItemTemplate>
   </ContentTemplate>
</asp:UpdatePanel>

我尝试fvMediaIntro.FindControl()fvMediaIntro.Row.FindControl(),但都没有效果。 有什么想法吗?

1 个答案:

答案 0 :(得分:7)

只有在创建了这些控件之后,

FindControl才会起作用,即数据绑定到FormView时。因此,您需要在FormView ItemCreatedDataBound上使用适当的事件。例如,

protected void fvMediaIntro_ItemCreated(Object sender, EventArgs e)
{
   var control = fvMediaIntro.Row.FindControl("iNeedToFindThis") as HtmlAnchor;
}

假设您在page_load中绑定或使用加价,您还可以安全地使用父页面/控件的prerender事件FindControl