title: Implementing INamingContainer Interface for UpdatePanel?
body: <p>Even in trying to find an answer to this problem, I haven't found any clear explanation (especially one not discussing GridViews) on how to resolve the following error I receive when running a program with an UpdatePanel:</p>
  
  <pre><code>Message: Control with ID 'lblDisplay' being registered through RegisterAsyncPostBackControl or RegisterPostBackControl must implement either INamingContainer, IPostBackDataHandler, or IPostBackEventHandler.
  </code></pre>
  
  <p>The UpdatePanel is:</p>
  
  <pre><code>&lt;form id="form1" runat="server"&gt;
   &lt;asp:ScriptManager ID="ScriptManager1" runat="server" EnablePageMethods="true"&gt;&lt;/asp:ScriptManager&gt;
   &lt;asp:UpdatePanel ID="up1" UpdateMode="Conditional" runat="server"&gt;
      &lt;Triggers&gt;
          &lt;asp:AsyncPostBackTrigger ControlID="lblDisplay" eventname="Load" /&gt;
      &lt;/Triggers&gt;
      &lt;ContentTemplate&gt;
          &lt;asp:HiddenField ID="hiddenZone" runat="server" /&gt;
          &lt;asp:HiddenField ID="hiddenZone2" runat="server" /&gt;
          &lt;div style='width: 150px;position:absolute; margin-left: 0;text-align:center;'&gt;
          &lt;span id="clock" style='font-size:125%;'&gt;&lt;/span&gt;
          &lt;asp:Label ID="lblDisplay" runat="server" Text=""&gt;&lt;/asp:Label&gt;&lt;/div&gt;            
          &lt;div style='width:150px;position:absolute;margin-left:150px;text-align:center;text-transform:capitalize;'&gt;
          &lt;asp:Label ID="lblDisplay2" runat="server" Text="" Interval="5000" ontick="tick"&gt;&lt;/asp:Label&gt;
          &lt;/div&gt;
      &lt;/ContentTemplate&gt;
  &lt;/asp:UpdatePanel&gt;
  &lt;/form&gt;
  </code></pre>
  
  <p>From my understanding, I have to implement the INamingContainer interface for lblDisplay, but am not quite sure on how to accomplish this. Do I have to databind the UpdatePanel information? Create a new object for INamingContainer?</p>