title: Want to be able to receive an empty string instead of null
body: <p>I have a mvc model with a string property, when i receive json parameter with is set on client to empty string i receive null i mvc controller action for the string parameter.</p>
  
  <p>I want to be able to receive an empty string instead of null and have tried the following:</p>
  
  <pre><code>[MetadataType(typeof(TestClassMetaData))]
  public partial class TestClass
  {
  }
  
  public class TestClassMetaData
  {
       private string _note;
  
      [StringLength(50, ErrorMessage = "Max 50 characters")]
      [DataType(DataType.MultilineText)]
      public object Note
      {
          get { return _note; }
          set { _note = (string)value ?? ""; }
      }
  
  }
  </code></pre>
  
  <p>Using this is generating validation error.</p>
  
  <p>Does anybody know why it's not working?</p>
  
  <p>And also why is the metadata class using object for property type?</p>