title: @Html.Label won't allow string concatenation
body: <p>I'm building dynamic forms based on a partial view. My view inherits a model with a single property: <code>CatalogName { get; set; }</code>. </p>
  
  <p>I have tried this:</p>
  
  <pre><code>@Html.Label(Model.CatalogName + "-ProductNumber", "Product Number")
  @Html.TextBox(Model.CatalogName + "-ProductNumber")
  </code></pre>
  
  <p>The HTML renders like this though:</p>
  
  <pre><code>&lt;label for&gt;Product Number&lt;/label&gt;
  &lt;input name="CatatalogName-ProductNumber" type="text" /&gt;
  </code></pre>
  
  <p>If I write my code like this:</p>
  
  <pre><code>@Html.Label("ProductNumber-" + Model.CatalogName", "Product Number")
  </code></pre>
  
  <p>It will render the way I expect</p>
  
  <pre><code>&lt;label for="ProductNumber-CatalogName"&gt;Product Number&lt;/label&gt;
  </code></pre>
  
  <p>Is this a bug with MVC? Are there any answers as to why my concatenation won't work the way I want it  to in the label, but works fine with the TextBox?</p>
  
  <p>My model looks like this:</p>
  
  <pre><code>public class Product
  {
    public string CatalogName { get; set; }
  }
  </code></pre>
  
  <p>My partial view inherits the model:</p>
  
  <pre><code>@model Models.Product
  </code></pre>
  
  <p>My controller renders an action result like this:</p>
  
  <pre><code>return PartialView("_webForm", Models.Product { CatalogName = "CatalogName"} );
  </code></pre>