title: ASP.NET MVC Model Binding with Dashes in Form Element Names
body: <p>I have been scouring the internet trying to find a way to accomodate dashes from my form elements into the default model binding behavior of ASP.NET's Controllers in MVC 2, 3, or even 4.</p>
  
  <p>As a front-end developer, I prefer dashes in my CSS over camelCase or underscores.  In my markup, what I want to be able to do to is something like this:</p>
  
  <pre><code>&lt;input type="text" name="first-name" class="required" /&gt;
  &lt;input type="text" name="last-name" class="required" /&gt;
  </code></pre>
  
  <p>In the controller, I would be passing in a C# object that would look like this:</p>
  
  <pre><code>public class Person
  {
        public string FirstName { get; set; }
        public string LastName { get; set; }
        //etc...
  }
  </code></pre>
  
  <p>Is there some way to extend the <code>Controller</code> class to accommodate this through some regex or other behavior?  I hate the fact that I have to do something like this:</p>
  
  <pre><code>&lt;input type="text" name="person.firstname" class="required" /&gt;
  </code></pre>
  
  <p>or even this:</p>
  
  <pre><code>&lt;input type="text" name="isPersonAttending" class="required" /&gt;
  </code></pre>
  
  <p>Thoughts?</p>