title: NULL value for "System.Int32"
body: <p>I read book "ASP.NET MVC5" by Freeman and I try to add administration page to my site. Now when I go to the page <em><a href="http://localhost:63843/Admin/Edit" rel="nofollow">http://localhost:63843/Admin/Edit</a></em>, I have error:</p>
  
  <p><em>Dictionary of the parameters contains an entry with a NULL value for the parameter "productId" type "System.Int32", not allowing the value NULL, the method for "System.Web.Mvc.ViewResult Edit (Int32)" in "SportsStore.WebUI.Controllers.AdminController". An optional parameter must be a reference type, type, allowing the value NULL, or it must be declared as an option.
  Parameter name: parameters</em></p>
  
  <pre><code>public class AdminController : Controller
  {
      private IProductRepository repository;
  
      public AdminController(IProductRepository repo) {
          repository = repo;
      }
  
      public ViewResult Edit(int productId) {
          Product product = repository.Products
              .FirstOrDefault(p =&gt; p.ProductID == productId);
          return View(product);
      }
  }
  </code></pre>
  
  <p>But here is all references to Edit and there is no any NULL value:</p>
  
  <pre><code>Product p1 = target.Edit(1).ViewData.Model as Product;
  Product p2 = target.Edit(2).ViewData.Model as Product;
  Product p3 = target.Edit(3).ViewData.Model as Product;
  Product result = (Product)target.Edit(4).ViewData.Model;
  </code></pre>
  
  <p>When I comment it, nothing changes.
  I can't uderstand, where is NULL value.</p>