title: ASP.NET MVC 4 Validation Errors not being displayed
body: <p>I'm using ASP.NET MVC 4.</p>
  
  <p>I don't think my ModelState is being passed properly,</p>
  
  <p>Controller action: <strong>Home/EnrolResult</strong> as follows:</p>
  
  <pre><code>[HttpPost]
  public ActionResult EnrolResult(UploadModel model)
  {
      if (ModelState.IsValid)
      {
          // my codes in here
          return View();
      }
      return View("~/Views/Home/Index", model);
  }
  </code></pre>
  
  <p>View: <strong>Home/Index</strong>, which is as follow:</p>
  
  <pre><code>@using (Html.BeginForm("EnrolResult", "Home", FormMethod.Post, new { enctype = "multipart/form-data" }))
  { 
      @Html.ValidationSummary()
  
      @Html.LabelFor(m =&gt; m.Firstname)
      @Html.TextBoxFor(m =&gt; m.Firstname)
  
      @Html.LabelFor(m =&gt; m.Surname)
      @Html.TextBoxFor(m =&gt; m.Surname)
  
      &lt;li data-role="fieldcontain"&gt;
          &lt;input type="submit" value="Enrol" /&gt;
      &lt;/li&gt;
  }
  </code></pre>
  
  <p>When I enter the details correctly it functions correctly and displays the enrolresult view. </p>
  
  <p>When I enter the details incorrectly it returns to Home/Index but doesn't display the validation error of which form wasn't entered.</p>
  
  <p>The model is set up correctly as I have tested it where I changed the EnrolResult action to an index action and the validation error displayed correctly, where I used view(model) meaning the ModelState wouldn't have to be passed like I'm trying to do in this case.</p>
  
  <p>Is the way I'm doing it correct? I've seen people use TempData but I thought this method was meant to work?</p>