MVC视图布局页常用代码
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视图布局页常用代码的更多相关文章
- MVC的布局页,视图布局页和分布页的使用
一,结构如下图 二,布局页和视图布局页 1>使用方法一 _ViewStart.cshtml @{ Layout = "~/Views/Shared/_Layout.cshtml&quo ...
- ASP.NET Core 入门教程 6、ASP.NET Core MVC 视图布局入门
一.前言 1.本教程主要内容 ASP.NET Core MVC (Razor)视图母版页教程 ASP.NET Core MVC (Razor)带有Section的视图母版页教程 ASP.NET Cor ...
- ASP.NET Core 入门笔记7,ASP.NET Core MVC 视图布局入门
一.前言 1.本教程主要内容 ASP.NET Core MVC (Razor)视图母版页教程 ASP.NET Core MVC (Razor)带有Section的视图母版页教程 ASP.NET Cor ...
- ASP.NET MVC在布局页上使用模型(model)
看到这标题有点怪,一般情况之下,我们很容易在视图与部分视图中使用模型(model),但是如果想在布局页_Layout.cshtml页中使用模型(model),按照普通方式也许没有达到预期的效果,在实现 ...
- asp.net mvc razor布局页中a标签的href的跳转问题
笔者做了一个文件上传系统,文件上传后,保存在wwwroot目录的file文件夹中,并把该文件的路径保存到数据库中, 如这样的一个路径保存在数据库: file/b775f487-0127-41e0-9d ...
- 一、Core的布局页、起始页及错误页
一.布局页面: 使用布局页相当于一个母版页,可以将各个页面公用部分,如上方标题区.左侧导航菜单区.下方版权声明及状态显示区以及通用的js及css引用等,集中放到布局页管理,具体功能页面只需关注自己独有 ...
- MVC教程八:母版页(布局页)视图
一.母版页介绍和使用 母版页的扩展名为".cshtml",也叫做视图布局页,它相当于网页的模板.在其他网页中,只要引用了母版页,母版页的页面内容就可以自动显示出来,设计者可以修改引 ...
- IDEA项目搭建十四——Web站点Controller基类及布局页静态资源设计
一.简介 站点搭建完成后,编写页面时一般会有如下几个需求 1.嵌套静态页面时有很大一部分通用代码,如css.js这部分可以使用thymeleaf的局部片段代码块组成 2.这些静态资源默认放在程序中,但 ...
- ASP.NET MVC 5 学习教程:修改视图和布局页
原文 ASP.NET MVC 5 学习教程:修改视图和布局页 起飞网 ASP.NET MVC 5 学习教程目录: 添加控制器 添加视图 修改视图和布局页 控制器传递数据给视图 添加模型 创建连接字符串 ...
随机推荐
- 关于Cocos2d-x节点和精灵节点的坐标、位置以及大小的设置
1.cocos2d-X中的坐标(0,0),就是运行框的左下角位置,所以运行框看起来就是一个第一象限. 2.节点的锚点就是我们setPosition所设定的位置,默认锚点是在节点的中心,也就是setPo ...
- t-SNE可视化(MNIST例子)
如下所示: import pickle as pkl import numpy as np from matplotlib import pyplot as plt from tsne import ...
- mips cfe命令
设置串口参数 setenv -p LINUX_CMDLINE "console=ttyS0,115200 root=mtd4 rw rootfstype=jffs2" 内核启动参数 ...
- JBPM——工作流概念
一.概念 工作流(Workflow),就是"业务过程的部分或总体在计算机应用环境下的自己主动化",它主要解决的是"使在多个參与者之间依照某种提前定义的规 ...
- winform程序_根据输入的sql生成excel(字段名与sql一致)
自己打开看吧 app.config可配置数据库路径 excel保存路径.... 源码下载链接: http://pan.baidu.com/s/1bnHPhdd
- Java调用FTP实例
package com.test; import java.io.File; import java.io.FileInputStream; import java.io.FileOutputStre ...
- Xcode 5.0 编译低版本app
Xcode 5.0 默认的编译环境是iOS7,编译出来的app,安装到iOS7.0版本以上的手机上,会表现出iOS7.0的风格.兼容不太好的应用,布局上可能会因此乱八七糟. 如果还不想让app升级到i ...
- Java基础-JDBC访问数据库
基本步骤: 加载数据库驱动 建立连接 创建SQL语句 执行SQL语句 处理执行结果 释放资源 代码示例: import java.sql.Connection; import java.sql.Dri ...
- SQLServer跨服务器访问数据库(openrowset/opendatasource/openquery)
SQLServer跨服务器访问数据库(openrowset/opendatasource/openquery) 1.启用Ad Hoc Distributed Queries 在使用openrowset ...
- Template类的使用指南【python】
转自:http://www.jb51.net/article/55011.htm