title: ASP.NET MVC 3 - Setting up routes
body: <p>I'm migrating an ASP.NET web forms application to ASP.NET MVC 3. I kind of understand routing, but I sort of don't. In my application, I have created three .cshtml files in the directory located at /internal/products/find/. For the sake of demonstration, those .cshtml files are named "view1.cshtml", "view2.cshtml", and "view3.cshtml". </p>
  
  <p>I have a controller named "InternalController". My goal is to use InternalController for all of the locations inside the /internal path. I'm not sure if what I'm trying to do is allowed. I assume it is. Either way, at this time, I have the following in InternalController:</p>
  
  <pre><code>public ActionResult View1()
  {
    return View();
  }
  
  public ActionResult View2()
  {
    return View();
  }
  
  public ActionResult View3()
  {
    return View();
  }
  </code></pre>
  
  <p>In my global.asax.cs file, I'm trying to register the routes to these views as follows:</p>
  
  <pre><code>routes.MapRoute(
    "View1",
    "{controller}/products/find/view1",
    new { controller = "Internal", action = "View1" }
  );
  
  routes.MapRoute(
    "View2",
    "{controller}/products/find/view2",
    new { controller = "Internal", action = "View2" }
  );
  
  routes.MapRoute(
    "View3",
    "{controller}/products/find/view3",
    new { controller = "Internal", action = "View3" }
  );
  </code></pre>
  
  <p>Whenever I try to visit /internal/products/find/view1 in my browser, I see the ASP.NET error screen and it says:</p>
  
  <p><em>The view 'View1' or its master was not found or no view engine supports the searched locations. The following locations were searched:
  ~/Views/internal/View1.aspx
  ~/Views/internal/View1.ascx
  ~/Views/Shared/View1.aspx
  ~/Views/Shared/View1.ascx
  ~/Views/dashboard/View1.cshtml
  ~/Views/dashboard/View1.vbhtml
  ~/Views/Shared/View1.cshtml
  ~/Views/Shared/View1.vbhtml</em></p>
  
  <p>What am I doing wrong? The path /internal/products/find/view1 is the most important part for me. Ideally, I would like to expose that in InternalController everytime. But I'm having a rough go at it. What am I doing wrong?</p>
  
  <p>Thanks!</p>