一,结构如下图

二,布局页和视图布局页

1》使用方法一

_ViewStart.cshtml

@{
Layout = "~/Views/Shared/_Layout.cshtml";
} <h2>视图布局页_ViewStart.cshtml</h2>

_Layout.cshtml

<!DOCTYPE html>

<html>
<head>
<meta name="viewport" content="width=device-width" />
<title>@ViewBag.Title</title>
</head>
<body>
<div>
<h2>布局页_Layout.cshtml</h2>
@RenderBody()
</div>
</body>
</html>

综上:

1》当使用这种写法时:若视图布局页_ViewStart.cshtml不存在或者Layout = "~/Views/Shared/_Layout.cshtml";指向的页面错误,都会造成视图的布局页(_Layout.cshtml)使用失败

2》但是视图布局页_ViewStart.cshtml本身的样式等一样应用全局,并没有失效

2》使用方法二(不使用视图布局页_ViewStart.cshtml)

_LayoutNew.cshtml

<!DOCTYPE html>
<html>
<head>
<meta name="viewport" content="width=device-width" />
<title>@ViewBag.Title</title>
@RenderSection("Head", false)
</head>
<body>
<div>
<h2>
布局页_LayoutNew.cshtml</h2>
@RenderSection("Main", false)
</div>
</body>
</html>

hz.cshtml使用模板

@{
Layout = "~/Views/Shared/_LayoutNew.cshtml";
}
@section Head{}
@section Main{
<h2>
hz页面使用_LayoutNew.cshtml模板</h2>
}

即:这样应用模板一样可以成功,在这里需要注意的是@section Head{}@section Main{}名字需要和布局页定义的一样

三,分部页的使用(不需要创建action,使用简单 )

Index.cshtml

<h2>Index页面</h2>

@Html.Partial("_PartialView")

不需要使用控制器(Controllers)和方法(action),直接可以使用这个页面的元素

四,Html.RenderPartial与 Html.RenderAction的区别

Html.RenderPartial:这个只会加载页面,而不会加载Controller中的Action,所以页面的Model是在当前加载页面传过去,如@{Html.RenderPartial("Menu",Model.List);},同时Menu页面接收的类型须和Model.List一致

1》同一个目录下(意思是当前嵌入页面和分部页页面存放在同一个文件夹下)Html.RenderPartial的使用:@{Html.RenderPartial("Menu");}

2》分部页放在不同目录中, Html.RenderPartial的使用:@{Html.RenderPartial("~/Views/Home/Menu.cshtml");}

Html.RenderAction:是通过Controller中的Action来调用,所以可以通过Action来返回参数

1》 调用例子: @{Html.RenderAction("Menu", "Home");}

MVC的布局页,视图布局页和分布页的使用的更多相关文章

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

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

  2. ASP.NET Core 中文文档 第四章 MVC(3.3)布局视图

    原文:Layout 作者:Steve Smith 翻译:娄宇(Lyrics) 校对:孟帅洋(书缘) 视图(View)经常共享视觉元素和编程元素.在本篇文章中,你将学习如何在你的 ASP.NET 应用程 ...

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

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

  4. [Asp.net MVC]Asp.net MVC5系列——布局视图

    目录 系列文章 概述 布局视图 系列文章 [Asp.net MVC]Asp.net MVC5系列——第一个项目 [Asp.net MVC]Asp.net MVC5系列——添加视图 [Asp.net M ...

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

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

  6. ASP.NET MVC 4中如何为不同的浏览器自适应布局和视图

    在ASP.NET MVC 4中,可以很简单地实现针对不同的浏览器自适应布局和视图.这个得归功于MVC中的"约定甚于配置"的设计理念. 默认的自适应 MVC 4自动地为移动设备浏览器 ...

  7. H5 58-网页的布局方式

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...

  8. 从 C# 崩溃异常 中研究页堆布局

    一:背景 1.讲故事 最近遇到一位朋友的程序崩溃,发现崩溃点在富编辑器 msftedit 上,这个不是重点,重点在于发现他已经开启了 页堆 ,看样子是做了最后的挣扎. 0:000> !analy ...

  9. <记录> Razor引擎&视图布局

    标识符 @ Razor支持HTML和C#代码混编,意味着可以在HTML中随意输出变量 基本使用方法 直接@后面跟变量(当遇到 HTML标签 .空格.换行符等特殊符号时 便认为@之后到特殊符号前为变量名 ...

随机推荐

  1. CentOS下安装中文man 手册

    为了方便使用man,安装中文手册,具体如下: 版本:CentOS release 6.6 (Final) 中文包:http://pkgs.fedoraproject.org/repo/pkgs/man ...

  2. 233-基于TMS320C6678+XC7K325T的CPCIe开发平台

    基于TMS320C6678+XC7K325T的CPCIe开发平台 一.板卡概述         该DSP+FPGA高速信号采集处理板由我公司自主研发,包含一片TI DSP TMS320C6678和一片 ...

  3. 牛客小白月赛16 H小阳的贝壳 (线段树+差分数组)

    链接:https://ac.nowcoder.com/acm/contest/949/H来源:牛客网 题目描述 小阳手中一共有 n 个贝壳,每个贝壳都有颜色,且初始第 i 个贝壳的颜色为 colico ...

  4. pip安装依赖包

    pip install -r requirements.txt setup.py 模块使用 https://blog.csdn.net/neil_pan/article/details/7900129 ...

  5. tracert显示为超时

    1.那一跳禁PING2.那一跳不对TTL超时做响应处理,直接丢弃3.MPLS VPN网络  

  6. cassandra集群

    cassandra是分布式数据库属于nosql,用于处理大量商用服务器上的大量数据,提供高可用性,无单点故障. Cassandra在其节点之间具有对等分布式系统,并且数据分布在集群中的所有节点之间. ...

  7. shell编程基础知识3

    1.Linux下scp的用法 scp就是secure copy,一个在linux下用来进行远程拷贝文件的命令.有时我们需要获得远程服务器上的某个文件,该服务器既没有配置ftp服务器,也没有做共享,无法 ...

  8. Linux系统下安装JDK及环境配置

    第一种属于傻瓜式安装,一键安装即可(yum安装): 第二种手动安装,需要自己去Oracle官网下载需要的jdk版本(需官网注册登录才可以下载),然后解压并配置环境. 一.yum一键安装1.首先执行以下 ...

  9. PHP curl_error函数

    curl_error — 返回一个保护当前会话最近一次错误的字符串 说明 string curl_error ( resource $ch ) 返回一条最近一次cURL操作明确的文本的错误信息. 参数 ...

  10. 4412 linux延时和时间

    基本知识 • linux中延时函数很简单,却经常用到• 在操作系统中和单片机处理延时方式就完全不一样了,不可能是使用for循环浪费系统资源.而是有专门的接口函数• linux系统编程中常用的延时函数: ...