在窗体视图中找不到控件

本文关键字:找不到 控件 视图 窗体 | 更新日期: 2023-09-27 17:57:23

我需要找到驻留在FormView控件中的这个<a>标签,我需要根据条件删除这个标签,但我无法使用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(),都没有用。请问有什么想法吗??

在窗体视图中找不到控件

>FindControl只有在创建这些控件后才能工作,即当数据绑定到FormView时。因此,您需要在此类 ItemCreated 或 DataBound FormView上使用适当的事件。例如

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

假设您在page_load中绑定或使用标记,您还可以安全地使用父页/控件prerender事件来执行FindControl