Asp.Net Core Mvc Razor之RazorPage

Posted sesametech-netcore

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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页面中要获取一些信息时,可以直接使用上述属性进行处理。

以上是关于Asp.Net Core Mvc Razor之RazorPage的主要内容,如果未能解决你的问题,请参考以下文章

ASP.NET Core Razor 页面与完整 MVC Core [关闭]

[MVC&Core]ASP.NET Core MVC 视图传值入门

ASP.NET Core 2,使用没有 MVC 的 Razor 页面单击按钮

IFormFile 始终为空(带有 MVC/Razor 的 ASP.NET Core)

[Asp.Net Core]MVC_Razor布局

[Asp.Net Core]MVC_Razor布局