title: Why should I use LabelFor in MVC?
body: <p>Why should I use <code>LabelFor</code> instead of <code>&lt;label&gt;</code>?</p>
  
  <p>eg.</p>
  
  <pre><code>@Html.LabelFor(model =&gt; model.FirstName)
  @Html.DisplayFor(model =&gt; model.FirstName)
  </code></pre>
  
  <p>vs</p>
  
  <pre><code>&lt;label for="FirstName"&gt;First Name&lt;/label&gt;
  @Html.DisplayFor(model =&gt; model.FirstName)
  </code></pre>
  
  <p>Further to the above,
  @p.s.w.g has covered the DRY aspect of this question. I would also like to know if it helps with localization. ie. Different labels based on the current language setting.</p>