It has to be something simple that I'm missing, since this is my first try on MVC. Seems nothing works but the default route.
This were my steps:
localhost:50212
to
localhost:50212/Foo/Details
Result: I get a 404
Is it that the MVC AreaRegistration
does not happen automatically on compile time?
I went to the Global.asax and tried placing on Application_Start
AreaRegistration.RegisterAllAreas();
But that seemed useless. Any Ideas? Is it that VS community 2015 is missing something? Regards
Controllers/FooController.cs
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.Mvc;
namespace MvcTest.Controllers
{
public class FooController : Controller
{
// GET: Foo
public ActionResult Details()
{
return View();
}
}
}
Views/Foo/Details.cshtml
@model MyModel
Hello
App_start of the Global.asax
namespace MvcTest
{
public class Global : System.Web.HttpApplication
{
protected void Application_Start(object sender, EventArgs e)
{
AreaRegistration.RegisterAllAreas();
//This up here is something I added manually after its byDefault scaffolding
FilterConfig.Configure(GlobalFilters.Filters);
RouteConfig.Configure(RouteTable.Routes);
}
@Edit, added FooController and Views/Foo/Details
@@Edit: added missing s to Details. Same error.
@@@Edit: sharing the Global.asax
I started by working with an MVC 5 template, downloaded from the browsing templates online option on the Add --> New Project Window.
That did not load the things @john-h had on his project. It seems that wasn't enough, and I needed to download the MVC nuget package on the project. Or simply create a webApp with the mvc option instead of the template.
Now its working.
(But your solution helped me to figure this out @john-h. Thanks!)