ASP.NET MVC:WebPageBase.cs
| ylbtech-funcation-Utility: ASP.NET MVC:WebPageBase.cs |
充当表示 ASP.NET Razor 页的类的基类。
| 1.A,WebPageBase 抽象类返回顶部 |
#region 程序集 System.Web.WebPages, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35
// D:\work-XNY\XNYWeb\packages\Microsoft.AspNet.Webpages.3.2.3\lib\net45\System.Web.Webpages.dll
#endregion using System.Collections.Generic;
using System.IO;
using System.Runtime.CompilerServices; namespace System.Web.WebPages
{
//
// 摘要:
// 充当表示 ASP.NET Razor 页的类的基类。
public abstract class WebPageBase : WebPageRenderingBase
{
//
// 摘要:
// 初始化 System.Web.WebPages.WebPageBase 类以供继承的类实例使用。此构造函数只能由继承的类调用。
protected WebPageBase(); //
// 摘要:
// 对页面、布局页和分页之间共享的页数据提供类似属性的访问。
//
// 返回结果:
// 一个包含页数据的对象。
[Dynamic]
public override dynamic Page { get; }
//
// 摘要:
// 获取当前页上下文的 System.IO.TextWriter 对象的堆栈。
//
// 返回结果:
// System.IO.TextWriter 对象。
public Stack<TextWriter> OutputStack { get; }
//
// 摘要:
// 获取页面当前的 System.IO.TextWriter 对象。
//
// 返回结果:
// System.IO.TextWriter 对象。
public TextWriter Output { get; }
//
// 摘要:
// 对页面、布局页和分页之间共享的页数据提供类似数组的访问。
//
// 返回结果:
// 一个包含页数据的字典。
[Dynamic(new[] { false, false, true })]
public override IDictionary<object, dynamic> PageData { get; }
//
// 摘要:
// 获取或设置布局页的路径。
//
// 返回结果:
// 布局页的路径。
public override string Layout { get; set; } //
// 摘要:
// 使用指定的虚拟路径创建 System.Web.WebPages.WebPageBase 类的新实例。
//
// 参数:
// virtualPath:
// 要用于创建实例的虚拟路径。
//
// 返回结果:
// 新的 System.Web.WebPages.WebPageBase 对象。
public static WebPageBase CreateInstanceFromVirtualPath(string virtualPath);
//
// 摘要:
// 由内容页调用以创建指定的内容部分。
//
// 参数:
// name:
// 要创建的部分的名称。
//
// action:
// 在新部分中要执行的操作的类型。
public void DefineSection(string name, SectionWriter action);
//
// 摘要:
// 使用指定的参数,在一组相关的网页中执行代码。
//
// 参数:
// pageContext:
// 页的上下文数据。
//
// writer:
// 要用于编写执行 HTML 的编写器。
public void ExecutePageHierarchy(WebPageContext pageContext, TextWriter writer);
//
// 摘要:
// 使用指定的上下文、编写器和起始页,在一组相关的网页中执行代码。
//
// 参数:
// pageContext:
// 页的上下文数据。
//
// writer:
// 要用于编写执行 HTML 的编写器。
//
// startPage:
// 在页层次结构中开始执行的页。
public void ExecutePageHierarchy(WebPageContext pageContext, TextWriter writer, WebPageRenderingBase startPage);
//
// 摘要:
// 在一组相关的网页中执行代码。
public override void ExecutePageHierarchy();
//
// 摘要:
// 返回一个值,该值指示是否在页中定义了指定部分。
//
// 参数:
// name:
// 要搜索的部分的名称。
//
// 返回结果:
// 如果在页中定义了指定部分,则为 true;否则为 false。
public bool IsSectionDefined(string name);
//
// 摘要:
// 从 System.Web.WebPages.WebPageBase.OutputStack 实例顶部返回并移除上下文。
public void PopContext();
//
// 摘要:
// 在 System.Web.WebPages.WebPageBase.OutputStack 实例顶部插入指定的上下文。
//
// 参数:
// pageContext:
// 要推送到 System.Web.WebPages.WebPageBase.OutputStack 实例上的页上下文。
//
// writer:
// 页上下文的编写器。
public void PushContext(WebPageContext pageContext, TextWriter writer);
//
// 摘要:
// 在布局页中,将呈现不在指定部分中的内容页部分。
//
// 返回结果:
// 要呈现的 HTML 内容。
public HelperResult RenderBody();
//
// 摘要:
// 在其他页内呈现某一页的内容。
//
// 参数:
// path:
// 要呈现的页的路径。
//
// data:
// (可选)要传递给所呈现页的数据数组。在所呈现页中,可以使用 System.Web.WebPages.WebPageBase.PageData 属性来访问这些参数。
//
// 返回结果:
// 要呈现的 HTML 内容。
public override HelperResult RenderPage(string path, params object[] data);
//
// 摘要:
// 在布局页中,将呈现指定部分的内容并指定该部分是否为必需。
//
// 参数:
// name:
// 要呈现的部分。
//
// required:
// 要指定该部分为必需,则为 true;否则为 false。
//
// 返回结果:
// 要呈现的 HTML 内容。
public HelperResult RenderSection(string name, bool required);
//
// 摘要:
// 在布局页中,将呈现指定部分的内容。
//
// 参数:
// name:
// 要呈现的部分。
//
// 返回结果:
// 要呈现的 HTML 内容。
//
// 异常:
// T:System.Web.HttpException:
// name 部分已呈现。- 或 -name 部分已标记为必需,但却找不到。
public HelperResult RenderSection(string name);
//
// 摘要:
// 将指定的对象作为 HTML 编码的字符串写入。
//
// 参数:
// value:
// 要编码并写入的对象。
public override void Write(object value);
//
// 摘要:
// 将指定的 System.Web.WebPages.HelperResult 对象作为 HTML 编码的字符串写入。
//
// 参数:
// result:
// 要编码并写入的帮助器结果。
public override void Write(HelperResult result);
//
// 摘要:
// 无需先对指定的对象进行 HTML 编码,即可将其写入。
//
// 参数:
// value:
// 要写入的对象。
public override void WriteLiteral(object value);
//
// 摘要:
// 在派生类中重写时,将基于父网页的配置来配置当前网页。
//
// 参数:
// parentPage:
// 要从中读取配置信息的父页。
protected virtual void ConfigurePage(WebPageBase parentPage);
//
// 摘要:
// 尝试从 virtualPath 创建 WebPageBase 实例,并使用较简单的消息包装复杂的编译器异常
protected virtual WebPageBase CreatePageFromVirtualPath(string virtualPath, HttpContextBase httpContext, Func<string, bool> virtualPathExists, DisplayModeProvider displayModeProvider, IDisplayMode displayMode);
//
// 摘要:
// 初始化当前页。
protected virtual void InitializePage();
//
// 摘要:
// 返回用于呈现页面的文本编写器实例。
//
// 返回结果:
// 文本编写器。
protected internal override TextWriter GetOutputWriter();
}
}
WebPageBase 抽象类
| 1.B,返回顶部 |
| 1.C,返回顶部 |
| 1.D,返回顶部 |
![]() |
作者:ylbtech 出处:http://ylbtech.cnblogs.com/ 本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。 |
ASP.NET MVC:WebPageBase.cs的更多相关文章
- ASP.NET MVC:WebViewPage.cs
ylbtech-funcation-Utility: ASP.NET MVC:WebViewPage.cs 表示呈现使用 ASP.NET Razor 语法的视图所需的属性和方法. 1.A,WebVie ...
- ASP.NET MVC:UrlHelper.cs
ylbtech-funcation-Utility: ASP.NET MVC:UrlHelper.cs 充当表示 ASP.NET Razor 页的类的基类. 1.UrlHelper 类返回顶部 1-1 ...
- ASP.NET MVC:WebPageRenderingBase.cs
ylbtech-funcation-Utility: ASP.NET MVC:WebPageRenderingBase.cs 提供用于呈现使用 Razor 视图引擎的页的方法和属性. 1.A,WebP ...
- ASP.NET MVC:会导致锁定的会话
ASP.NET MVC:会导致锁定的会话 背景 一直没有意识到会话的访问会导致会话锁定,现在想想这样设计是非常合理的,不过某些情况下这样会导致同一个会话的并发访问非常低(只能串行化),好在MS提供了机 ...
- ASP.NET MVC:Razor 引入命名空间
原文:ASP.NET MVC:Razor 引入命名空间 页面中引用 c# @using MvcApplication83.Models @using MvcApplication83.Common 行 ...
- ASP.NET MVC:多语言的三种技术处理策略
ASP.NET MVC:多语言的三种技术处理策略 背景 本文介绍了多语言的三种技术处理策略,每种策略对应一种场景,这三种场景是: 多语言资源信息只被.NET使用. 多语言资源信息只被Javascrip ...
- ASP.NET MVC:利用ASP.NET MVC4的IBundleTransform集成LESS
ASP.NET MVC:利用ASP.NET MVC4的IBundleTransform集成LESS 背景 LESS确实不错,只是每次写完LESS都要手工编译一下有点麻烦(VS插件一直没有安装好),昨天 ...
- ASP.NET MVC:创建 ModelBinder 自动 Trim 所有字符串
ASP.NET MVC:创建 ModelBinder 自动 Trim 所有字符串 2010-12-29 21:32 by 鹤冲天, 4289 阅读, 14 评论, 收藏, 编辑 用户输入的字符串前后的 ...
- ASP.NET MVC:窗体身份验证及角色权限管理示例
ASP.NET MVC 建立 ASP.NET 基础之上,很多 ASP.NET 的特性(如窗体身份验证.成员资格)在 MVC 中可以直接使用.本文旨在提供可参考的代码,不会涉及这方面太多理论的知识. 本 ...
随机推荐
- 007.KVM虚机时间-快照管理
一 快照管理 1.1 创建快照 [root@kvm-host ~]# virsh snapshot-create vm03-centos6.8 [root@kvm-host ~]# virsh sna ...
- webpack4.x打包配置
很长时间没有进行webpack打包配置了,想起来都快有些忘记了,这个东西不是经常用到,只有在新建个项目的时候用到,不用官方模板,自己去动手配置的时候,有时候觉得还是有点难度.今天就想着自己动手进行配置 ...
- 跟厂长学PHP7内核(八):深入理解字符串的实现
在前面大致预览了常用变量的结构之后,我们今天来仔细的剖析一下字符串的具体实现. 一.字符串的结构 struct _zend_string { zend_refcounted_h gc; /* 字符串类 ...
- Linux-C网络编程
简介 基础是TCP/IP协议,网上资料很多不再赘述. 推荐<图解TCP/IP> socket编程 网络字节序 发送主机通常将发送缓冲区中的数据按内存地址从低到高的顺序发出, 接收主机把从网 ...
- Android动态获取权限
android权限的变化 在Android6.0以前的版本的时候,Android的权限都是在安装的时候全部的配置完成的.然而这往往会造成一些安全的问题. Google的解决办法: 将Android中的 ...
- BZOJ3772精神污染
参见http://blog.csdn.net/popoqqq/article/details/43122821 #include<bits/stdc++.h> using namespac ...
- KVM源代码阅读--内核版本3.17.4
为了更加深入的学习虚拟化,因此我必须把KVM源代码搞清楚,这是一个必须要挖的坑.我会把自己的一些阅读的代码贴上来,可能会有理解不对的地方,希望和大家一起交流,请多提意见,以便于纠正错误.所用的内核版本 ...
- CentOS 7下的KVM网卡配置为千兆网卡
在KVM下可以生成两种型号的网卡,RTL8139和E1000,其实应该是底层生成不同芯片的网卡,而不是附带宿主机网卡是什么型号就是什么型号的,其中默认为100兆网卡,即RTL8319的螃蟹卡,另一种是 ...
- STM32 Timer : Base Timer, Input Capture, PWM, Output Compare
http://www.cs.indiana.edu/~geobrown/book.pdf An example of a basic timer is illustrated in Figure 10 ...
- [Deepin 15] sudo source /etc/profile 提示找不到 source 命令(切换到 root 用户:sudo su)
在 Deepin/Ubuntu 系统 中,因为修改了下 配置文件,然后执行 source 命令重新加载配置文件,结果: sudo source /etc/profile 提示找不到 source 命令 ...
