1.在视图 Views 中新建文件夹  Shared

2.在 Shared 中新建布局页-母版页   _Layout.cshtml

@{
Layout = null;
} <!DOCTYPE html> <html>
<head>
<meta charset="UTF-8">
<meta name="renderer" content="webkit">
<meta charset="UTF-8"> <!--编码方式采用UTF-8-->
<meta name="renderer" content="webkit"> <!--默认使用极速内核-->
<meta name="description" content="飞车,换装,跑马,斗地主,冒险岛"> <!--网站关键词-->
<meta name="description" content="这是一个游戏网站"> <!--网站描述-->
<title>@ViewBag.Title</title> <!--页面标题将在此处插入-->
<link href="@Url.Content("~/Content/css.css")" rel="stylesheet" type="text/css" />
@RenderSection("Css", false) <!--子页面需要的css将在此插入-->
<script src="@Url.Content("~/Scripts/jquery.min.js")"></script>
@RenderSection("Js", false) <!--子页面需要的js将在此插入-->
</head>
<body>
<header>
<div>LOGO</div>
<!--导航菜单-->
<ul id="menu">
<li>@Html.ActionLink("Home", "Index", "Home")</li>
<li>@Html.ActionLink("Movies", "Index", "Movies")</li>
<li>@Html.ActionLink("About", "About", "Home")</li>
</ul>
</header>
<section id="main">
<!-- 页面内容将在此处呈现-->
@RenderBody()
</section>
<footer>
<p>Copyright RUNOOB 2012. All Rights Reserved.</p>
</footer>
</body>
</html>

3.在视图 Views 中新建视图  _ViewStart.cshtml

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

这段代码被自动添加到由应用程序显示的所有视图。

如果您删除了这个文件,则必须向所有视图中添加这行代码。

4.在 Shared 中新建布局页-分部视图  _Page.cshtml

调用代码:@Html.Partial("_PageName")

<div id="page">
@Html.Partial("_Page")
</div>

5.在子页面调用方式:

@section Css{
<link href="~/Content/home.css" rel="stylesheet" type="text/css" />
}
@section Js{
<script src="~/Scripts/home.min.js"></script>
}
@{
ViewBag.Title = "首页";
}
<div>首页HTML内容</div>

代码说明

1.RenderSection(string name, bool required = true)

  说明:required默认为true表示引用这个布局页的所有View必须含有该Section,设为false则为可以有,也可以没有

2.Html.ActionLink("LinkText","ActionName","ControllerName","RoutValues","HtmlAttributes")

  Html.ActionLink(string linkText, string actionName, string controllerName, object routeValues, object htmlAttributes);

属性 描述
linkText string,必须的,URL 文本(标签),定位点元素的内部文本。
actionName string,必须的,操作(action)的名称。
ControllerName string,可选,控制器的名称。
routeValues object ,routeValues和HtmlAttributes必须同时存在,传递给操作(action)的值,是一个包含路由参数的对象。
HtmlAttributes object ,routeValues和HtmlAttributes必须同时存在,URL 的属性设置,是一个包含要为该元素设置的 HTML 特性的对象。

举例说明:

代码 输出
@Html.ActionLink("超链接文本","Index") <a href="/">超链接文本</a>   生成当前控制器下action名字为index 的超链接,如当前控制器不是默认首页,是About则会生成 <a href="/About">超链接文本</a> 
@Html.ActionLink("超链接文本","Index","Home") <a href="/Home">超链接文本</a>
@Html.ActionLink("超链接文本", "About", "Home") <a href="/Home/About">超链接文本</a>
@Html.ActionLink("超链接文本", "Index", "Home", new { id = "11" },null) <a href="/Home/Index/11">超链接文本</a>
@Html.ActionLink("超链接文本", "Index", "Home", new { id = "11" }, new { @class = "aLink", data_val = "shouye", id = "shouye" }) <a class="aLink" data-val="shouye" href="/Home/Index/11" id="shouye">超链接文本</a>

注释:这里只介绍了其中的几种常用的调用方式,具体F12去了解吧!

3.ViewBag 是用于向页面传参的,可用于子页面向母版页传参,就例如前面的ViewBag.Title。也可用于控制器向页面插入值,例如如下:

控制器代码:

using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.Mvc; namespace GamePortal.Web.Controllers
{
public class HomeController : Controller
{
// GET: Home
public ActionResult Index()
{
ViewBag.UserName = "测试用户";
ViewBag.UserAccount = "";
ViewBag.UserIntegral = "";
ViewBag.LastLogonTime = "2018-10-08 17:54:00";
return View();
}
}
}

HTML代码:

<div>
<ul>
<li>用户姓名: @ViewBag.UserName</li>
<li>用户账号: @ViewBag.UserAccount</li>
<li>用户积分: @ViewBag.UserIntegral</li>
<li>最后一次登录时间: @ViewBag.LastLogonTime</li>
</ul>
</div>

MVC视图布局页常用代码的更多相关文章

  1. MVC的布局页,视图布局页和分布页的使用

    一,结构如下图 二,布局页和视图布局页 1>使用方法一 _ViewStart.cshtml @{ Layout = "~/Views/Shared/_Layout.cshtml&quo ...

  2. ASP.NET Core 入门教程 6、ASP.NET Core MVC 视图布局入门

    一.前言 1.本教程主要内容 ASP.NET Core MVC (Razor)视图母版页教程 ASP.NET Core MVC (Razor)带有Section的视图母版页教程 ASP.NET Cor ...

  3. ASP.NET Core 入门笔记7,ASP.NET Core MVC 视图布局入门

    一.前言 1.本教程主要内容 ASP.NET Core MVC (Razor)视图母版页教程 ASP.NET Core MVC (Razor)带有Section的视图母版页教程 ASP.NET Cor ...

  4. ASP.NET MVC在布局页上使用模型(model)

    看到这标题有点怪,一般情况之下,我们很容易在视图与部分视图中使用模型(model),但是如果想在布局页_Layout.cshtml页中使用模型(model),按照普通方式也许没有达到预期的效果,在实现 ...

  5. asp.net mvc razor布局页中a标签的href的跳转问题

    笔者做了一个文件上传系统,文件上传后,保存在wwwroot目录的file文件夹中,并把该文件的路径保存到数据库中, 如这样的一个路径保存在数据库: file/b775f487-0127-41e0-9d ...

  6. 一、Core的布局页、起始页及错误页

    一.布局页面: 使用布局页相当于一个母版页,可以将各个页面公用部分,如上方标题区.左侧导航菜单区.下方版权声明及状态显示区以及通用的js及css引用等,集中放到布局页管理,具体功能页面只需关注自己独有 ...

  7. MVC教程八:母版页(布局页)视图

    一.母版页介绍和使用 母版页的扩展名为".cshtml",也叫做视图布局页,它相当于网页的模板.在其他网页中,只要引用了母版页,母版页的页面内容就可以自动显示出来,设计者可以修改引 ...

  8. IDEA项目搭建十四——Web站点Controller基类及布局页静态资源设计

    一.简介 站点搭建完成后,编写页面时一般会有如下几个需求 1.嵌套静态页面时有很大一部分通用代码,如css.js这部分可以使用thymeleaf的局部片段代码块组成 2.这些静态资源默认放在程序中,但 ...

  9. ASP.NET MVC 5 学习教程:修改视图和布局页

    原文 ASP.NET MVC 5 学习教程:修改视图和布局页 起飞网 ASP.NET MVC 5 学习教程目录: 添加控制器 添加视图 修改视图和布局页 控制器传递数据给视图 添加模型 创建连接字符串 ...

随机推荐

  1. 【转】PNG图像文件格式

    5.2  PNG图像文件格式 PNG是可携式网络图像(portable network graphics)的英文缩写.PNG是从网络上开始发展的,目的是替代GIF和JPG格式,PNG图像文件格式也是当 ...

  2. e664. 在图像中获取子图像

    // From an Image image = createImage(new FilteredImageSource(image.getSource(), new CropImageFilter( ...

  3. 深入new/delete:Operator new的全局重载

    Operator new 的全局重载 原文地址:http://blog.csdn.net/zhenjing/article/details/4354880 我们经常看到这么一句话: operator ...

  4. Spring-Condition设置

    为了满足不同条件下生成更为合适的bean,可以使用condition配置其条件.假如有一个bean,id为magicBean,只有当其具有magic属性时才生成,方法如下: javaConfig模式: ...

  5. Sqlserver2005:深入了解php执行sqlserver存储过程procedure:odbc_exe、odbc_execute

    以下存储过程(伪代码): -- 伪代码,假设相关操作是成功的 alter procedure pr_test as begin set nocount on update tab set col='n ...

  6. Buff系统框架设计

    Buff的配置文件 BufType: 1: 精神类Buf 2: 物理类Buf 3.元素类Buf 4.其他类Buf 5.被动类BufBufSubType: 1000-1999 精神子类 2000-299 ...

  7. c#.net常用函数和方法集

    1.DateTime 数字型 System.DateTime currentTime=new System.DateTime(); 1.1 取当前年月日时分秒 currentTime=System.D ...

  8. 【Matlab】运动目标检测之“帧差法”

    videoObj = VideoReader('4.avi');%读视频文件 nframes = get(videoObj, 'NumberOfFrames');%获取视频文件帧个数 : nframe ...

  9. 利用MSSQL对不经常使用的表进行依赖缓存

    缓存是我们开发应用系统的一把利刃,如果用的不好,会导致数据不准确等一系列问题. 所以在如何选择缓存的时候,我们要慎之又慎.所以在对系统中一些 不经常变化的表,我们可以采用SqlCacheDenpend ...

  10. VR资源浏览网站

    https://my.matterport.com 资源 https://my.matterport.com/show/?m=kCeVCzCjQ5s