I recently made some changes to my MVC 3 project.
When I run it, the Views dont include any files like Site.css.
When I debug my Index() ActionController, it jumps directly to the View, withouting including files like _Layout.cshtml. So i just get a View with a white background, no menus etc.
The Global.asax.cs file contains following code:
public static void RegisterRoutes(RouteCollection routes)
{
routes.IgnoreRoute("{resource}.axd/{*pathInfo}");
routes.MapRoute(
"Default", // Route name
"{controller}/{action}/{id}", // URL with parameters
new { controller = "Home", action = "Index", id = UrlParameter.Optional } // Parameter defaults
);
routes.MapRoute(
"Default2", // Route name
"{controller}/{action}/{id}/{page}", // URL with parameters
new { controller = "Survey", action = "DisplayQuestions", id = "", page = "" }
);
}
If the breakpoint in your controller action is being hit the routes may be wrong but that’s not a reason for _Layout.cshtml to not load.
A few things to check:
Does your view include something like this at the top which would deactivate the _Layout.cshtml?
Does your _ViewStart.cshtml still exist with the following code which activates the _Layout.cshtml?