MVC4 利用Layout的几种方法的Demo

本文通过实例详细介绍了ASP.NET MVC中布局页的使用方法,包括不同类型的自定义布局页及其在视图中的应用。展示了如何通过控制器指定特定的布局文件,以及如何在视图文件中设置Layout属性来改变布局。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >


本文参考自 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>  
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值