I want default page of the site to be Login.cshtml. I get the Exception:
Error: The view 'LogIn' or its master was not found or no view engine supports the searched locations. The following locations were searched:
I have 2 areas. Structure is shown below.
My routeconfig is shown below.
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.Mvc;
using System.Web.Routing;
namespace Portal.Web
{
public class RouteConfig
{
public static void RegisterRoutes(RouteCollection routes)
{
routes.IgnoreRoute("{resource}.axd/{*pathInfo}");
routes.MapRoute(
name: "Default",
url: "{controller}/{action}/{id}",
defaults: new { controller = "Home", action = "LogIn", id = UrlParameter.Optional },
namespaces: new[] { "Portal.Web.Areas.Management" }
);
}
}
}
My global.asax.cs is shown below:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.Http;
using System.Web.Mvc;
using System.Web.Routing;
namespace Portal.Web
{
// Note: For instructions on enabling IIS6 or IIS7 classic mode,
// visit http://go.microsoft.com/?LinkId=9394801
public class MvcApplication : System.Web.HttpApplication
{
protected void Application_Start()
{
AreaRegistration.RegisterAllAreas();
WebApiConfig.Register(GlobalConfiguration.Configuration);
FilterConfig.RegisterGlobalFilters(GlobalFilters.Filters);
RouteConfig.RegisterRoutes(RouteTable.Routes);
}
}
}
`Have you any advice?
Clear out your bin folder and rebuild. There is a chance there is an old dll set up with the old routing. This worked for me for one route at least.
It looks as though you need to change your namespace on the
MapRoute
from:To:
You forgot some stuff
Recap:
ManagementAreaRegistration.cs
RouteConfig.cs
You set
Portal.Web.Areas.Management
when it should bePortal.Web.Areas.Management.Controllers
also it is missing the default area:area = "management"
I followed instruction in this post. And problem is resolved. Visit ASP.NET MVC Default URL View
Thank you all.