title: When to use runat="server" on normal HTML
body: <p>Is it ever appropriate to use runat="server" on a standard HTML element instead of a true ASP.NET control?  I have full control over setting the html/text of the normal element, so why wouldn't I use it instead of a "clunky" ASP.NET WebForms control?</p>
  
  <p>If one is better than the other, some points of interest I would like to know:</p>
  
  <ul>
  <li>Performance differences</li>
  <li>Functionality differences</li>
  <li>Other differences not so obvious?</li>
  </ul>
  
  <p>An example difference:</p>
  
  <pre><code>&lt;asp:Literal ID="mySpecialHtml" runat="server" /&gt;
  
  &lt;div id="mySpecialHtml" runat="server" /&gt;
  </code></pre>