title: Declaration of model in Razor View in mvc4 asp.net
body: <p>I am new to asp.net mvc4 and there is something i don't understand well.</p>
  
  <p>Why do I have to declare the Model using @model at top of the view, if I already pass an object to the View in the controller.</p>
  
  <p>Taking an example :</p>
  
  <p>Controller:</p>
  
  <pre><code>public ActionResult countryDetails(int id)
      {
  
          Country country = db.Country.Find(id);
          return View(country);
  
      }
  </code></pre>
  
  <p>View:</p>
  
  <pre><code>@model MvcApplication2.Models.Country
  @{
      ViewBag.Title = "countryDetails";
  }
  ...
  </code></pre>
  
  <p>The controller returns a View with an object as parameter, so the model should be already known. I'm sorry if it is obvious, but I can't figure out why this is not a "double" declaration.</p>
  
  <p>Thanks for you help !</p>