MVC 3 - RAZOR VIEWS - C # - Separate _Layout.cshtml for home page from other pages on site

How do you create a separate _layout.cshtml file for the HomePage design that is not rendered in the same way as internal pages.

eg. - http://michcampgrounds.shadowinteractive.com - Home Page Template I don't want to use the slider at the top for inner content pages.

Is it possible to call one _layout.cshtml for the master page; Calling another _layout-content.cshtml for content pages?

What would be the appropriate syntax for this?

+3


source to share


1 answer


One way is to override the layout in the view you want.

/Views/Home/Index.cshtml

@{
  Layout = "~/Views/Shared/_layout.cshtml";
}

      

Or you can do this in your controller



/Controllers/Home.cs

public ActionResult Index()
{
  ViewResult result = this.View();
  // i think this is correct and it shouldn't need a full/relative path
  result.MasterName = "_layout.cshtml";       
  return result;
}

      

This assumes that your _ViewStart.cshtml files look like this:

@{
  Layout = "~/Views/Shared/_layout-content.cshtml ";
}

      

+3


source







All Articles