首页 > 代码库 > 布局视图
布局视图
布局视图
原文:Layout
作者:Steve Smith
翻译:娄宇(Lyrics)
校对:孟帅洋(书缘)
视图(View)经常共享视觉元素和编程元素。在本篇文章中,你将学习如何在你的 ASP.NET 应用程序中使用通用布局视图、共享指令以及在渲染视图前运行通用代码。
章节:
- 什么是布局视图
- 指定布局
- 导入共享指令
- 在视图之前运行代码
什么是布局视图
大部分 Web 应用程序在用户切换页面时,使用通用布局提供了一致的用户体验。通用布局通常包含页眉、导航栏(或菜单)以及页脚等通用 UI 元素。
在一个应用程序中,诸如脚本(scripts)和样式表(stylesheets)这样的通用 HTML 结构也频繁的被许多页面使用。所有的这些共享元素可以在 layout 文件中定义,这样应用程序中的任何视图都可以使用它们。布局视图减少了视图中的重复代码,帮助我们遵循 Don‘t Repeat Yourself (DRY) 原则。
按照惯例,ASP.NET 应用程序的默认布局文件命名为 _Layout.cshtml
。Visual Studio ASP.NET Core MVC 项目模板包含这个布局文件,位置在 Views/Shared
文件夹:
这个布局为应用程序中的视图定义了一个顶层模版。布局对应用程序来说不是必须的,应用程序也可以定义多个模板供不同的视图使用。
一个 _Layout.cshtml
例子:
复制代码
<!DOCTYPE html><html><head> <meta charset="utf-8" /> <meta name="viewport" content="width=device-width, initial-scale=1.0" /> <title>@ViewData["Title"] - WebApplication1</title> <environment names="Development"> <link rel="stylesheet" href=http://www.mamicode.com/"~/lib/bootstrap/dist/css/bootstrap.css" /> <link rel="stylesheet" href=http://www.mamicode.com/"~/css/site.css" /> </environment> <environment names="Staging,Production"> <link rel="stylesheet" href=http://www.mamicode.com/"https://ajax.aspnetcdn.com/ajax/bootstrap/3.3.6/css/bootstrap.min.css" asp-fallback-href=http://www.mamicode.com/"~/lib/bootstrap/dist/css/bootstrap.min.css" asp-fallback-test-class="sr-only" asp-fallback-test-property="position" asp-fallback-test-value=http://www.mamicode.com/"absolute" /> <link rel="stylesheet" href=http://www.mamicode.com/"~/css/site.min.css" asp-append-version="true" /> </environment></head><body> <div class="navbar navbar-inverse navbar-fixed-top"> <div class="container"> <div class="navbar-header"> <button type="button" class="navbar-toggle" data-toggle="collapse" data-target=".navbar-collapse"