MVC4 利用Layout的几种方法的Demo

来源:互联网 发布:nginx http2配置 编辑:程序博客网 时间:2024/06/03 17:09

本文参考自 http://blog.csdn.net/vinglemar/article/details/44944639


因为 从网上下了个后台权限源码,想自己加上前台页面。发现了自己的不足,对于layout 的理解缺失。下面详细解释如何使用不同 的布局页。

页面不多,直接贴代码行了。

HomeController.cs

        public ActionResult Index()        {            return View();        }        public ActionResult Index2()        {            return View();        }        public ActionResult Index3()        {            return View();        }        public ActionResult Index4()        {            return View();        }        public ActionResult Index5()        {            return View("Index5", "_MyLayout1");        }

在Shared下面,新建一个Layout文件:_MyLayout1.cshtml:

<!DOCTYPE html><html><head>    <meta name="viewport" content="width=device-width" />    <title>@ViewBag.Title</title></head><body style="background-color:#808080;">    <h2>我来自自定义Layout1</h2>    <div>        @RenderBody()    </div></body></html>

在Home文件夹下新建Layout文件:_MyLayout2.cshtml:

<!DOCTYPE html><html><head>    <meta name="viewport" content="width=device-width" />    <title>@ViewBag.Title</title></head><body style="background-color:yellow;">    <h2>我来自自定义Layout2</h2>    <div>        @RenderBody()    </div></body></html>

Index.cshtml:

@{    ViewBag.Title = "Index1";}<h2 style="background-color:red;">我是Index1</h2>@Html.ActionLink("Index2", "Index2")@Html.ActionLink("Index3", "Index3")@Html.ActionLink("Index4", "Index4")  @Html.ActionLink("Index5", "Index5")  //@Html.ActionLink("Index6", "Index6")  

Index2.cshtml:

@{    //ViewBag.Title = "Index2";    Layout = null;  }<!DOCTYPE html><html><head>    <meta name="viewport" content="width=device-width" />    <title>不使用Layout,我是Index2</title></head><body style="background-color:green;">    <h2>不使用Layout,我是Index2</h2></body></html> 

Index3.cshtml:

@{    Layout = "~/Views/Shared/_MyLayout1.cshtml";}<h2 style="background-color:blue;">我是Index3</h2>

Index4.cshtml:

@{    ViewBag.Title = "Index4";    Layout = "~/Views/Home/_MyLayout2.cshtml";}<h2 style="background-color:orange;">我是Index4</h2> 

Index5.cshtml:

@{    ViewBag.Title = "Index5";    Layout = "~/Views/Home/_MyLayout2.cshtml";}<h2 style="background-color:#fff;">我是Index5</h2>  
0 0
原创粉丝点击