title: Different values from model
body: <p>I have this two lines in a Razor template:</p>
  
  <pre><code>@Html.Hidden("step", Model.Step)
  &lt;p&gt;@Html.Label(Model.Step.ToString())&lt;/p&gt;
  </code></pre>
  
  <p>And they produce two different values:</p>
  
  <pre><code>&lt;input data-val="true"
         data-val-number="The field Step must be a number."
         data-val-required="The Step field is required."
         id="step"
         name="step"
         type="hidden"
         value="0"&gt;
      &lt;p&gt;
          &lt;label for=""&gt;1
          &lt;/label&gt;
      &lt;/p&gt;
  </code></pre>
  
  <p>How is this possible?</p>
  
  <p>Property <code>Step</code> is of a type <code>Int32</code> and is incremented every POST action.  </p>
  
  <p>EDIT:</p>
  
  <pre><code>@model ***.WebUI.Models.OrderViewModel
  @{
    ViewBag.Title = "New order";
  }
  &lt;h2&gt;
    New order&lt;/h2&gt;
  @using (Html.BeginForm())
  {
    @Html.Hidden("step", Model.Step)
    &lt;p&gt;@Html.Label(Model.Step.ToString())&lt;/p&gt;
    &lt;div&gt;
      //other inputs
    &lt;/div&gt;
  }
  </code></pre>