ASP.Net随笔:webpage布局

通过 Web Pages,可以高效地实现:

  • 每页拥有相同的页眉
  • 每页拥有相同的页脚
  • 每页拥有相同的样式和布局

使用内容块

通过WebPage,可以使用@RenderPage()方法从不同的文件中导入内容。

HtmlPage.cshtml文件
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
    <title></title>
    <meta charset="utf-8" />
</head>
<body>
    <h1>HtmlPage.cshtml文件</h1>
</body>
</html>

WebPage.cshtml文件
<!DOCTYPE html>
<html>
    <head>
        <title></title>
    </head>
    <body>
        @RenderPage("HtmlPage.cshtml")
    </body>
</html>

使用页面布局

布局网页包含网页的结构,而不是内容。当网页(内容页)链接到布局页时,它会根据布局页(模板)来显示。

布局页类似普通的网页,但是会在引用内容页的位置调用 @RenderBody() 方法,标题可以使用@Page.Title。

每个内容页必须以 Layout 指令开头,使用Page.Title指定页面的标题。

布局页
<!DOCTYPE html>
<html>
    <head>
        <title>@Page.Title</title>
        @RenderSection("head", required: false)
    </head>
    <body>
        @RenderBody()
        <p>_Layout.cshtml</p>
    </body>
</html>

内容页
@{
    Page.Title = "页面布局";
    Layout = "_Layout.cshtml";
}

<div>
    <h1>ContentPage.cshtml</h1>
</div>

运行效果:

PS:

可以在示例代码中看到布局页的文件名的命名为_Layout.cshtml。

其实在ASP.Net中以下划线开头的文件不能被浏览器访问,这样可以保护数据。

时间: 2024-10-22 18:02:32

ASP.Net随笔:webpage布局的相关文章

【ASP.NET随笔】DataRow和DataRowView

[ASP.NET随笔]DataRow和DataRowView 可以将DataView同数据库的视图类比,不过有点不同,数据库的视图可以跨表建立视图,DataView则只能对某一个DataTable建立视图. DataView一般通过DataTable.DefaultView 属性来建立,或者再通过RowFilter 属性和RowStateFilter 属性建立这个DataTable的一个子集.DataGrid实际显示的是DataTable经过筛选的DataView DataRow是对应于Data

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

ASP.NET随笔-按照条件显示GridView单元格的颜色

问题描述: 我在做一个关于信用卡的业务时遇到一个问题:信用卡内金额低于100元时,数字颜色显示为红色,其余显示为绿色 之前,尝试了修改成为模板列以及转换成Reapeater控件,甚至用了Jquery,都没达到预期的效果,代码烦杂不易理解.通过查询相关资料,看到了关于DataRowView的介绍. 这里不过多介绍 前台部门核心代码: <asp:BoundField HeaderText="身份证号码" DataField="identitycardnumber"

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

看到这标题有点怪,一般情况之下,我们很容易在视图与部分视图中使用模型(model),但是如果想在布局页_Layout.cshtml页中使用模型(model),按照普通方式也许没有达到预期的效果,在实现时有些情况需要注意的. 下面先按原先我们的设计,在控控制器创建三个视图操作(Action): 创建一个布局页_May15.cshtml,然后上面的三个视图均引用此布局页. 现在我们根据控制器的Action分别创建三个视图,Index.cshtml: PageA.cshtml: PageB.cshtm

多列布局之等分布局

在实际网页布局中,我们可能会需要设置等分布局. <div class="parent"> <div class="column"><p>1</p></div> <div class="column"><p>2</p></div> <div class="column"><p>3</p>

[转][译]ASP.NET MVC 4 移动特性

此教程将讨论ASP.NET MVC 4 Web应用程序里的移动特性.对于此教程,可以使用 Visual Studio Express 2012 或者 Visual Web Developer 2010 Express Service Pack 1 ("Visual Web Developer 或者 VWD").  如果你已经有了专业版本的 Visual Studio 你也可以使用. 开始之前,确保你已经安装了以下列出的必需项. Visual Studio Express 2012 (推

【HTML5】表单属性

* autocomplete autocomplete 属性规定 form 或 input 域应该拥有自动完成功能. 注释:autocomplete 适用于 <form> 标签,以及以下类型的 <input> 标签:text, search, url, telephone, email, password, datepickers, range 以及 color. 当用户在自动完成域中开始输入时,浏览器应该在该域中显示填写的选项: <!DOCTYPE HTML> <

【HTML5】表单元素

* datalist datalist 元素规定输入域的选项列表. 列表是通过 datalist 内的 option 元素创建的. 如需把 datalist 绑定到输入域,请用输入域的 list 属性引用 datalist 的 id: <!DOCTYPE HTML> <html> <body> <form action="/example/html5/demo_form.asp" method="get"> Webpa

.NET 开源开发项目

本文列出了 .NET 开源开发项目(open source developer projects).意在包括对开发过程的所有方面有所帮组的项目.对于消费项目(consumerprojects),请参阅.NET开源消费项目清单. 下面按字母排序,并提供一行文字说明.GitHub/CodePlex(或其他)链接优先. .NET 实现 .NET Core - Core .NET 框架 C# Native – 把 C# 编译成本地代码. Cosmos - C# 开源的管理操作系统,一个操作系统是"con