title: Provide value to htmlAttributes where keys contain dash in their name in MVC view (e.g. "data-bind")
body: <p>Most of the Html helpers available in ASP.Net MVC have overloads with <code>object htmlAttributes</code>. This is used to provide additional attribute values for the outputted tags. While using the anonymous object notation for specifying htmlAttributes value, their property names must be valid c# identifier.</p>
  
  <p>Now the problem arises when you are trying to output a property with a dash <code>-</code> character (for e.g. knockout js's "data-bind" attribute)</p>
  
  <p>So for example lets take the following example:</p>
  
  <pre><code>@Html.TextBox("Title", string.Empty, new { data-bind="text: title" })
  </code></pre>
  
  <p>Try the above code in your view and at run-time it would show error screen with below message:</p>
  
  <pre><code>Compilation Error
  
  Description: An error occurred during the compilation of a resource required to service this request. Please review the following specific error details and modify your source code appropriately.
  
  Compiler Error Message: CS0746: Invalid anonymous type member declarator. Anonymous type members must be declared with a member assignment, simple name or member access.
  </code></pre>
  
  <p>So the question is, how to provide htmlAttributes with their property keys having dash characters; like "data-bind"?</p>