申明
文章内容记录自:http://www.w3school.com.cn/aspnet/webpages_intro.asp, 为个人学习笔记记录。
说明
Web Pages 是三种 ASP.NET 编程模型中的一种,用于创建 ASP.NET 网站和 web 应用程序。
布局
在因特网上,您会发现很多拥有统一外观的网站:
- 每页拥有相同的页眉
- 每页拥有相同的页脚
- 每页拥有相同的样式和布局
可以通过以下方式实现:
- 使用 @RenderPage() 方法从不同的文件导入内容
1 | <html> |
- 使用布局页面
布局网页包含网页的结构,而不是内容。当网页(内容页)链接到布局页时,它会根据布局页(模板)来显示。布局页类似普通的网页,但是会在引用内容页的位置调用 @RenderBody() 方法。每个内容页必须以 Layout 指令开头。
布局页面:
1 | <html> |
任意网页:
1 | @{Layout="Layout.cshtml";} |
防止代码泄露
在 ASP.NET 中,名称以下划线开头的文件无法通过 web 来浏览。如果您希望禁止用户查看内容块或布局文件,请对文件重新命名,如:_Layout.cshtml
~ 操作符 与 Href 方法
- 使用 ~ 操作符在编程代码中规定虚拟根目录,作为项目资源路径根路径,如:var myImagesFolder = “~/images”;
- Href 方法把代码中的路径转换为浏览器能够理解的路径(浏览器无法理解 ~ 操作符),如:
1 | @{var myStyleSheet = "~/Shared/Site.css";} |
Page对象
Page对象为内置对象,类似与JSP中的Request等对象
方法 | 描述 |
---|---|
href | 使用指定的参数构建 URL。 |
RenderBody() | 在布局页中,将呈现不在指定部分中的内容页部分。 |
RenderPage(page) | 在其他页内呈现某一页的内容。 |
RenderSection(section) | 在布局页中,将呈现指定部分的内容。 |
Write(object) | 将指定的对象作为 HTML 编码的字符串写入。 |
WriteLiteral | 无需先对指定的对象进行 HTML 编码,即可将其写入。 |
属性 | 描述 |
---|---|
isPost | 返回一个值(true 或 false),指示客户端用来请求网页的 HTTP 数据传输方法是否为 POST 请求。 |
Layout | 获取或设置布局页的路径。 |
Page | 提供对页面、布局页和分页之间共享的页数据的类似属性的访问。 |
Request | 获得当前 HTTP 请求的 HttpRequest 对象。 |
Server | 获取 HttpServerUtility 对象,该对象所提供的方法能够在网页处理过程中使用。 |
Web Pages帮助器
Web Helpers 极大地简化了 web 开发和常见的编程任务。其内部实现了表格、图表等内容显示的逻辑及样式,进行了特定封装。