I have a MVC application that exist at the moment using a _MainLayoutPage for its Master Page. 
I want to create another Master Page for a different purpose. I will be creating a new controller as well.
How can I do this?
I have a MVC application that exist at the moment using a _MainLayoutPage for its Master Page. 
I want to create another Master Page for a different purpose. I will be creating a new controller as well.
How can I do this?
 
    
     
    
    The simplest way is in your Action Method, set a Viewbag property for your Layout
public ActionResult Index()
{
  ViewBag.Layout= "~/Views/Shared/layout2.cshtml";
In your View, set the layout property
@{
    Layout = @ViewBag.Layout;
}
 
    
    In _ViewStart.cshtml, put this:
    @{
        try {
            Layout = "~/Views/" + ViewContext.RouteData.Values["controller"] + "/_Layout.cshtml";
        }
        catch {
            Layout = "~/Views/Shared/_Layout.cshtml";
        }
    }
And then you can put a controller specific _Layout.cshtml in your controller folders, like
~/Views/User/_Layout.cshtml for a controller named UserController~/Views/Account/_Layout.cshtml for a controller named AccountControllerAnd because of the try/catch, it will fall back to the '~/Views/Shared/_Layout.cshtml' layout if one is not defined for a specific controller.
