title: HtmlHelper.TextBox uses the model value even when an explicit value provided
body: <p>In a view I'm using <a href="http://msdn.microsoft.com/en-us/library/dd492984(v=vs.108)" rel="nofollow noreferrer">this overload</a> of <code>HtmlHelper.TextBox</code>:</p>
  
  <pre class="lang-c# prettyprint-override"><code>public static MvcHtmlString TextBox(
      this HtmlHelper htmlHelper,
      string name,
      Object value
  )
  </code></pre>
  
  <p>The documentation states:</p>
  
  <blockquote>
    <p><em>value</em> </p>
    
    <blockquote>
      <p>Type: <code>System.Object</code></p>
      
      <p>The value of the text input element. <strong>If this value is <code>null</code></strong>, the value of the element is retrieved from the <code>ViewDataDictionary</code> object. If no value exists there, the value is retrieved from the <code>ModelStateDictionary</code> object.</p>
    </blockquote>
  </blockquote>
  
  <p>I do provide a <code>value</code> when I call this overload, and this value is not null. Nevertheless, the value for the textbox is retrieved from the <code>ModelStateDictionary</code> whenever it is present there.</p>
  
  <p>In order to force the textbox to use the value provided inline, I have to reset the model first in the controller (or remove the key with the textbox's name from the keys collection).</p>
  
  <p>Same applies to other controls rendered by <code>HtmlHelper</code>.</p>
  
  <p>Where is my understanding wrong? Or is that a bug in the documentation?</p>