title: ASP.NET MVC and Web API model binding - how do I bind to properties with names disallowed by the language?
body: <p>An example of basic model binding to an object in ASP.NET MVC or the ASP.NET Web API might look like this (using C# as example):</p>
  
  <pre><code>public class MyModel
  {
      public string value1 { get; set; } 
      public string value2 { get; set; }
  }
  
  public ValuesController : ApiController
  {
      public HttpResponseMessage Post(MyModel model) { ... }
  }
  </code></pre>
  
  <p>As long as the POST body looks like <code>value1=somevalue&amp;value2=someothervalue</code> things map just fine.</p>
  
  <p>But how do I handle a scenario where the post body contains parameter names that are disallowed as class property names, such as <code>body-text=bla&amp;...</code>?</p>