布局视图_Layout.cshtml

 转:https://www.cnblogs.com/jesen1315/p/11041967.html

  布局视图和我们在Asp.Net MVC一样,布局视图_Layout.cshtml使得所有视图保持一致的外观变得更加容易,因为我们只有一个要修改的布局视图文件,更改后将立即反映在整个应用程序的所有视图中。

  在 ASP.NET Core MVC 中,有一些视图文件,如布局的视图,_ViewStart.cshtml 和_ViewImports.cshtml 等其他.cshtml 文件的文件名以下划线开头,这些文件名中的前下划线表示这些文件不是直接面向浏览器。

  我们可以在单个应用程序中包含多个布局视图文件。比如一个布局视图文件服务为管理员用户,另外一个不同的布局视图文件服务于普通用户。

  我们一般将布局视图建在Views/Shared文件夹下,以_Layout.cshtml命名。

<!DOCTYPE html>

<html>
<head>
    <meta name="viewport" content="width=device-width" />
    <title>@ViewBag.Title</title>
</head>
<body>
    <div>
        <[email protected]()是注入视图特定内容的位置。例如,如果使用此布局视图呈现 index.chtml 视图,则会在我们 调用@RenderBody()方法 的位置注入 index.cshtml 视图内容 。-->
        @RenderBody()
    </div>

    @*@if (IsSectionDefined("Scripts"))
    {
        @RenderSection("Scripts");
    }*@

    @RenderSection("Scripts", false);

</body>
</html>

  我们可以在Views/_ViewStart.cshtml指定启用哪个布局页,因为请求的时候会先找到_ViewStart.cshtml。

@{
    Layout = "_Layout";
}

@if (User.IsInRole("Admin"))
{
    Layout = "_AdminLayout";
}
else
{
    Layout = "_NoAdminLayout";
}

  同时,如果我们在很多页面都使用同一个命名空间,同一个model的话,我们可以在Views/_ViewImports.cshtml文件中添加共用的命名空间,model。

@using StudentManagement.Models;
@using StudentManagement.ViewModels;

@*还支持以下指令*@
@*
    @addTagHelper
    @removeTagHelper
    @tagHelperPrefix
    @model
    @inherits
    @inject
*@

  需要注意的是,_ViewStart和_ViewImports是支持分层的,除了将它放在 Views 文件夹中之外,我们还可以在 Views 文件夹的“Home”子文件夹中放置另一个_ViewImports,在文件 Home 的文件夹中的\_ViewImports将覆盖在 Shared 文件夹中的\_ViewImports文件指定的设置。

原文地址:https://www.cnblogs.com/wangle1001986/p/12186676.html

时间: 2024-08-28 08:29:27

布局视图_Layout.cshtml的相关文章

Asp.Net Core 入门(五)—— 布局视图_Layout.cshtml

布局视图和我们在Asp.Net MVC一样,布局视图_Layout.cshtml使得所有视图保持一致的外观变得更加容易,因为我们只有一个要修改的布局视图文件,更改后将立即反映在整个应用程序的所有视图中. 在 ASP.NET Core MVC 中,有一些视图文件,如布局的视图,_ViewStart.cshtml 和_ViewImports.cshtml 等其他.cshtml 文件的文件名以下划线开头,这些文件名中的前下划线表示这些文件不是直接面向浏览器. 我们可以在单个应用程序中包含多个布局视图文

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

目录 系列文章 概述 布局视图 系列文章 [Asp.net MVC]Asp.net MVC5系列--第一个项目 [Asp.net MVC]Asp.net MVC5系列--添加视图 [Asp.net MVC]Asp.net MVC5系列--添加模型 [Asp.net MVC]Asp.net MVC5系列--从控制器访问模型中的数据 [Asp.net MVC]Asp.net MVC5系列--添加数据 [Asp.net MVC]Asp.net MVC5系列--在模型中添加验证规则 [Asp.net M

Mvcpager以下各节已定义,但尚未为布局页“~/Views/Shared/_Layout.cshtml”呈现:“Scripts”。

解决办法如下: 1.在_Layout.cshtml布局body内,添加section,Scripts.Render和RenderSection标签示例代码如下: <body class="bodyBg font_fm"> <section> @RenderBody() </section> @Scripts.Render("~/bundles/jquery") @RenderSection("scripts",

布局视图

布局视图 原文:Layout作者:Steve Smith翻译:娄宇(Lyrics)校对:孟帅洋(书缘) 视图(View)经常共享视觉元素和编程元素.在本篇文章中,你将学习如何在你的 ASP.NET 应用程序中使用通用布局视图.共享指令以及在渲染视图前运行通用代码. 章节: 什么是布局视图 指定布局 导入共享指令 在视图之前运行代码 什么是布局视图 大部分 Web 应用程序在用户切换页面时,使用通用布局提供了一致的用户体验.通用布局通常包含页眉.导航栏(或菜单)以及页脚等通用 UI 元素. 在一个

EF5+MVC4系列(10) mvc的布局页面 _ViewStart.Cshtml

当客户端请求 /Product/Index的时候, 如果在视图的根目录下有 _ViewStart.Cshtml 就会先执行这个,再去执行 Product文件夹下的Index视图, 如果Product文件夹下也有 _ViewStart.Cshtml文件,那么优先执行这个文件,再去执行 Index视图 根目录下的ViewStart中的数据,可以通过 Page.Title这样 或者是 PageData["key"] 这样传递给 下面的Product下的ViewStart视图,直至到目标 In

Android仿微信UI布局视图(圆角布局的实现)

圆角按钮,或布局可以在xml文件中实现,但也可以使用图片直接达到所需的效果,以前版本的微信就使用了这种方法. 实现效果图:    不得不说,这种做法还是比较方便的. 源代码: MainActivity(没写任何代码,效果全在布局文件中实现): package com.android_settings; import android.app.Activity; import android.os.Bundle; public class MainActivity extends Activity

MVC母版页_Layout.cshtml

记得在asp.net时候,我们常会使用母版页MasterPage.而在MVC也有此功能,应用起来比MasterPage更加便捷. 在本次练习之前,所有MVC的练习均是创建单独的网页.Insus.NET就想拿以前的练习的例子,移迁至母版页中去.在ASP.NET时,如果想把已经写好的单独一个网页放入MasterPage母版页中,凭Insus.NET的经验时,那得重新创建,然后把相关内容拷贝至新建的网页中.而现在MVC,把一个已经存在的网页移至母版页,那是相当的容易,一两句代码即可. MVC创建一个站

MVC学习六:Razor布局视图之【/Views/Shared/_Layout.cshtml】

_Layout代码: 1 <!DOCTYPE html> 2 <html> 3 <head> 4 <meta charset="utf-8" /> 5 <meta name="viewport" content="width=device-width" /> 6 <title>@ViewBag.Title</title> 7 @RenderSection(&quo

Android 常用布局视图

# ScrollView 滚动视图 <ScrollView android:layout_width="wrap_content" android:layout_height="wrap_content"> <HorizontalScrollView android:layout_width="wrap_content" android:layout_height="wrap_content"> <