Asp.Net Core Mvc Razor之RazorPage

在AspNetCore.Mvc.Razor命名空间中的RazorPage继承RazorPageBase,并定义的属性为:

  • HttpContext Context 表示当前请求执行的HttpContext

RazorPageBase定义为抽象类,并继承了接口:IRazorPage

IRazorPage接口定义属性如下:

  • ViewContent ViewContent 获取或设置渲染视图的视图上下文
  • IHtmlContent BodyContent 获取或设置正文内容
  • bool IsLayoutBeingRendered 获取或设置一个标志,该标志确定是否呈现此页面的布局
  • string Path 获取应用程序页面的相对路径
  • string Layout 获取或设置布局页面的路径
  • IDictionary<string, RenderAsyncDelegate> PreviousSectionWriters 获取或设置此页面可以呈现的部分
  • IDictionary<string, RenderAsyncDelegate> SectionWriters 获取此页面定义的部分

定义的方法 如下:

  • Task ExecuteAsync(); 渲染页面并将输出写入Writer
  • void EnsureRenderedBodyOrSections(); 验证是否渲染了PreviousSectionWriters中定义的所有节,或者如果未定义节则渲染了正文

RazorPageBase中除了继承IRazorPage中的属性,还有定义的属性如下:

  • DiagnosticSource DiagnosticSource 获取或设置用于检测页面执行情况的DiagnosticSource实例
  • HtmlEncoder HtmlEncoder 获取此RazorPage处理非IHtmlContent C#表达式时要使用的HtmlEncoder
  • virtual TextWriter Output 获取页面正在将输出写入的TextWriter
  • ITempDataDictionary TempData 从ViewContext获取ITempDataDictionary
  • virtual ClaimsPrincipal User 获取当前登录用户的ClaimsPrincipal
  • object ViewBag 获取动态视图数据字典

可以在Razor页面中可以直接使用的上述定义的属性,其中RazorPage中的属性Context为ViewContent中的HttpContext
因此在Razor页面中要获取一些信息时,可以直接使用上述属性进行处理。

原文地址:https://www.cnblogs.com/sesametech-netcore/p/11586095.html

时间: 2024-10-17 07:22:48

Asp.Net Core Mvc Razor之RazorPage的相关文章

ASP.NET Core 入门教程 7、ASP.NET Core MVC 分部视图入门

原文:ASP.NET Core 入门教程 7.ASP.NET Core MVC 分部视图入门 一.前言 1.本教程主要内容 ASP.NET Core MVC (Razor)分部视图简介 ASP.NET Core MVC (Razor)分部视图基础教程 ASP.NET Core MVC (Razor)强类型分部视图教程 2.本教程环境信息 软件/环境 说明 操作系统 Windows 10 SDK 2.1.401 ASP.NET Core 2.1.3 IDE Visual Studio Code 1

ASP.NET MVC升级到ASP.NET Core MVC踩坑小结

原文:ASP.NET MVC升级到ASP.NET Core MVC踩坑小结 写在前面 ASP.NET Core是微软新推出的支持跨平台.高性能.开源的开发框架,它的优势不必多说,因为已经说得太多了.当然,现在依然有着数量庞大的系统运行于.NET Framework上,由于有大量的Break Changes,很多项目项目团队也不敢贸然升级,其中的考量也不全部是技术原因,更多的可能还是业务推进因素. 小编自年前开始考虑升级一套电商系统,原先是基于.NET Framework 4.5的,打算直接升级到

Pro ASP.NET Core MVC 6th 第三章

第三章 MVC 模式,项目和约定 在深入了解ASP.NET Core MVC的细节之前,我想确保您熟悉MVC设计模式背后的思路以及将其转换为ASP.NET Core MVC项目的方式. 您可能已经了解本章中讨论的一些想法和约定,特别是如果您已经完成了高级ASP.NET或C#开发. 如果没有,我鼓励你仔细阅读 - 深入地理解隐藏在MVC背后的东西可以帮助你在通读本书时更好地与MVC框架的功能联系起来. MVC的历史 模型视图控制器模式起源于20世纪70年代后期,来自施乐PARC的Smalltalk

Pro ASP.NET Core MVC 第6版 第二章(后半章)

增加动态输出 整个web应用平台的关注点在于构建并显示动态输出内容.在MVC里,控制器负责构建一些数据并将其传给视图.视图负责渲染成HTML. 从控制器向视图传递数据的一种方式是使用ViewBag 对象,它是一个控制器基类的成员.ViewBag是一个动态对象,你可以给他赋值任意属性给视图来渲染用.代码2-5 演示了如何在HomeController里传递简单对象. Listing 2-5. 设置视图数据 using System; using Microsoft.AspNetCore.Mvc;

Bare metal APIs with ASP.NET Core MVC(转)

ASP.NET Core MVC now provides a true "one asp.net" framework that can be used for building both APIs and websites. But what if you only want to build an API? Most of the ASP.NET Core MVC tutorials I've seen advise using the Microsoft.AspNetCore.

Pro ASP.NET Core MVC 第6版 第二章(前半章)

目录 第二章 第一个MVC 应用程序 学习一个软件开发框架的最好方法是跳进他的内部并使用它.在本章,你将用ASP.NET Core MVC创建一个简单的数据登录应用.我将它一步一步地展示,以便你能看清楚怎样构建一个MVC 应用程序.为了让事情简单,我跳过了一些技术细节,但是不要担心,如果你是一个MVC的新手,你将会发现许多东西足够提起你的兴趣.因为我用的东西有些没做解释,所以我提供了一些参考以便你可以看到所有的细节的东西. 安装Visual Studio 要想根据本书实践的话,必须安装Visua

在ASP.NET Core MVC中构建简单 Web Api

Getting Started 在 ASP.NET Core MVC 框架中,ASP.NET 团队为我们提供了一整套的用于构建一个 Web 中的各种部分所需的套件,那么有些时候我们只需要做一个简单的 Web Api 程序怎么办呢? 在 GitHub 中的 ASP.NET Core MVC 源码里面,我们只要关注 Microsoft.AspNetCore.Mvc 这个包,那么除了这个包之外它还包含这些: Microsoft.AspNetCore.Mvc.ApiExplorer Microsoft.

007.Adding a view to an ASP.NET Core MVC app -- 【在asp.net core mvc中添加视图】

Adding a view to an ASP.NET Core MVC app 在asp.net core mvc中添加视图 2017-3-4 7 分钟阅读时长 本文内容 1.Changing views and layout pages 修改视图和布局页 2.Change the title and menu link in the layout file 在布局文件中修改标题与菜单 3.Passing Data from the Controller to the View 从控制器向视图

ASP.NET Core MVC TagHelper实践HighchartsNET快速图表控件-开源

ASP.NET Core MVC TagHelper最佳实践HighchartsNET快速图表控件支持ASP.NET Core. 曾经在WebForms上写过 HighchartsNET快速图表控件-开源 Highcharts的ASP.NET Web自定义控件. 今天我就来改造它,将其使用最新的TagHelper 来实践,学习TagHelper 的使用也提供一个方便的图表控件在ASP.NET Core MVC中使用. 下面正式开始,使用之前的代码直接进行迁移升级. GitHub:https://