PagesSection 类
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
提供对配置文件的 pages 部分的编程访问。 此类不能被继承。
public ref class PagesSection sealed : System::Configuration::ConfigurationSection
public sealed class PagesSection : System.Configuration.ConfigurationSection
type PagesSection = class
inherit ConfigurationSection
Public NotInheritable Class PagesSection
Inherits ConfigurationSection
- 继承
示例
此示例演示如何以声明方式为节的 pages
多个属性指定值,这些属性也可以作为 类的成员 PagesSection 进行访问。
以下配置文件示例演示如何以声明方式为 pages 节指定值。
<system.web>
<pages buffer="true"
enableSessionState="true"
enableViewState="true"
enableViewStateMac="true"
autoEventWireup="true"
validateRequest="true"
asyncTimeout="45"
maintainScrollPositionOnPostBack = "False"
viewStateEncryptionMode = "Auto">
<namespaces>
<add namespace="System" />
<add namespace="System.Collections" />
<add namespace="System.Collections.Specialized" />
<add namespace="System.ComponentModel" />
<add namespace="System.Configuration" />
<add namespace="System.Web" />
</namespaces>
<controls>
<clear />
<remove tagPrefix="MyTags" />
<!-- Searches all linked assemblies for the namespace -->
<add tagPrefix="MyTags1" namespace=" MyNameSpace "/>
<!-- Uses a specified assembly -->
<add tagPrefix="MyTags2" namespace="MyNameSpace"
assembly="MyAssembly"/>
<!-- Uses the specified source for the user control -->
<add tagprefix="MyTags3" tagname="MyCtrl"
src="MyControl.ascx"/>
</controls>
<tagMapping>
<clear />
<add
tagTypeName=
"System.Web.UI.WebControls.WebParts.WebPartManager"
mappedTagTypeName=
"Microsoft.Sharepoint.WebPartPartManager,
MSPS.Web.dll, Version='2.0.0.0'"
/>
<remove tagTypeName="SomeOtherNS.Class, Assemblyname" />
</tagMapping>
</pages>
</system.web>
下面的代码示例演示如何使用 PagesSection 类。
using System;
using System.Collections;
using System.Collections.Specialized;
using System.Configuration;
using System.Web.Configuration;
using System.Web.UI;
namespace Samples.Aspnet.SystemWebConfiguration
{
class UsingPagesSection
{
public static void Main()
{
try
{
// Get the Web application configuration.
Configuration configuration =
WebConfigurationManager.OpenWebConfiguration("");
// Get the section.
PagesSection pagesSection =
(PagesSection)configuration.GetSection("system.web/pages");
// Get the AutoImportVBNamespace property.
Console.WriteLine("AutoImportVBNamespace: '{0}'",
pagesSection.Namespaces.AutoImportVBNamespace.ToString());
// Set the AutoImportVBNamespace property.
pagesSection.Namespaces.AutoImportVBNamespace = true;
// Get all current Namespaces in the collection.
for (int i = 0; i < pagesSection.Namespaces.Count; i++)
{
Console.WriteLine(
"Namespaces {0}: '{1}'", i,
pagesSection.Namespaces[i].Namespace);
}
// Create a new NamespaceInfo object.
System.Web.Configuration.NamespaceInfo namespaceInfo =
new System.Web.Configuration.NamespaceInfo("System");
// Set the Namespace property.
namespaceInfo.Namespace = "System.Collections";
// Execute the Add Method.
pagesSection.Namespaces.Add(namespaceInfo);
// Add a NamespaceInfo object using a constructor.
pagesSection.Namespaces.Add(
new System.Web.Configuration.NamespaceInfo(
"System.Collections.Specialized"));
// Execute the RemoveAt method.
pagesSection.Namespaces.RemoveAt(0);
// Execute the Clear method.
pagesSection.Namespaces.Clear();
// Execute the Remove method.
pagesSection.Namespaces.Remove("System.Collections");
// Get the current AutoImportVBNamespace property value.
Console.WriteLine(
"Current AutoImportVBNamespace value: '{0}'",
pagesSection.Namespaces.AutoImportVBNamespace);
// Set the AutoImportVBNamespace property to false.
pagesSection.Namespaces.AutoImportVBNamespace = false;
// Get the current PageParserFilterType property value.
Console.WriteLine(
"Current PageParserFilterType value: '{0}'",
pagesSection.PageParserFilterType);
// Set the PageParserFilterType property to
// "MyNameSpace.AllowOnlySafeControls".
pagesSection.PageParserFilterType =
"MyNameSpace.AllowOnlySafeControls";
// Get the current Theme property value.
Console.WriteLine(
"Current Theme value: '{0}'",
pagesSection.Theme);
// Set the Theme property to "MyCustomTheme".
pagesSection.Theme = "MyCustomTheme";
// Get the current EnableViewState property value.
Console.WriteLine(
"Current EnableViewState value: '{0}'",
pagesSection.EnableViewState);
// Set the EnableViewState property to false.
pagesSection.EnableViewState = false;
// Get the current CompilationMode property value.
Console.WriteLine(
"Current CompilationMode value: '{0}'",
pagesSection.CompilationMode);
// Set the CompilationMode property to CompilationMode.Always.
pagesSection.CompilationMode = CompilationMode.Always;
// Get the current ValidateRequest property value.
Console.WriteLine(
"Current ValidateRequest value: '{0}'",
pagesSection.ValidateRequest);
// Set the ValidateRequest property to true.
pagesSection.ValidateRequest = true;
// Get the current EnableViewStateMac property value.
Console.WriteLine(
"Current EnableViewStateMac value: '{0}'",
pagesSection.EnableViewStateMac);
// Set the EnableViewStateMac property to true.
pagesSection.EnableViewStateMac = true;
// Get the current AutoEventWireup property value.
Console.WriteLine(
"Current AutoEventWireup value: '{0}'",
pagesSection.AutoEventWireup);
// Set the AutoEventWireup property to false.
pagesSection.AutoEventWireup = false;
// Get the current MaxPageStateFieldLength property value.
Console.WriteLine(
"Current MaxPageStateFieldLength value: '{0}'",
pagesSection.MaxPageStateFieldLength);
// Set the MaxPageStateFieldLength property to 4098.
pagesSection.MaxPageStateFieldLength = 4098;
// Get the current UserControlBaseType property value.
Console.WriteLine(
"Current UserControlBaseType value: '{0}'",
pagesSection.UserControlBaseType);
// Set the UserControlBaseType property to
// "MyNameSpace.MyCustomControlBaseType".
pagesSection.UserControlBaseType =
"MyNameSpace.MyCustomControlBaseType";
// Get all current Controls in the collection.
for (int i = 0; i < pagesSection.Controls.Count; i++)
{
Console.WriteLine("Control {0}:", i);
Console.WriteLine(" TagPrefix = '{0}' ",
pagesSection.Controls[i].TagPrefix);
Console.WriteLine(" TagName = '{0}' ",
pagesSection.Controls[i].TagName);
Console.WriteLine(" Source = '{0}' ",
pagesSection.Controls[i].Source);
Console.WriteLine(" Namespace = '{0}' ",
pagesSection.Controls[i].Namespace);
Console.WriteLine(" Assembly = '{0}' ",
pagesSection.Controls[i].Assembly);
}
// Create a new TagPrefixInfo object.
System.Web.Configuration.TagPrefixInfo tagPrefixInfo =
new System.Web.Configuration.TagPrefixInfo("MyCtrl", "MyNameSpace", "MyAssembly", "MyControl", "MyControl.ascx");
// Execute the Add Method.
pagesSection.Controls.Add(tagPrefixInfo);
// Add a TagPrefixInfo object using a constructor.
pagesSection.Controls.Add(
new System.Web.Configuration.TagPrefixInfo(
"MyCtrl", "MyNameSpace", "MyAssembly", "MyControl",
"MyControl.ascx"));
// Get the current StyleSheetTheme property value.
Console.WriteLine(
"Current StyleSheetTheme value: '{0}'",
pagesSection.StyleSheetTheme);
// Set the StyleSheetTheme property.
pagesSection.StyleSheetTheme =
"MyCustomStyleSheetTheme";
// Get the current EnableSessionState property value.
Console.WriteLine(
"Current EnableSessionState value: '{0}'",
pagesSection.EnableSessionState);
// Set the EnableSessionState property to
// PagesEnableSessionState.ReadOnly.
pagesSection.EnableSessionState =
PagesEnableSessionState.ReadOnly;
// Get the current MasterPageFile property value.
Console.WriteLine(
"Current MasterPageFile value: '{0}'",
pagesSection.MasterPageFile);
// Set the MasterPageFile property to "MyMasterPage.ascx".
pagesSection.MasterPageFile = "MyMasterPage.ascx";
// Get the current Buffer property value.
Console.WriteLine(
"Current Buffer value: '{0}'", pagesSection.Buffer);
// Set the Buffer property to true.
pagesSection.Buffer = true;
// Get all current TagMappings in the collection.
for (int i = 0; i < pagesSection.TagMapping.Count; i++)
{
Console.WriteLine("TagMapping {0}:", i);
Console.WriteLine(" TagTypeName = '{0}'",
pagesSection.TagMapping[i].TagType);
Console.WriteLine(" MappedTagTypeName = '{0}'",
pagesSection.TagMapping[i].MappedTagType);
}
// Add a TagMapInfo object using a constructor.
pagesSection.TagMapping.Add(
new System.Web.Configuration.TagMapInfo(
"MyNameSpace.MyControl", "MyNameSpace.MyOtherControl"));
// Get the current PageBaseType property value.
Console.WriteLine(
"Current PageBaseType value: '{0}'",
pagesSection.PageBaseType);
// Set the PageBaseType property to
// "MyNameSpace.MyCustomPagelBaseType".
pagesSection.PageBaseType =
"MyNameSpace.MyCustomPagelBaseType";
// Get the current SmartNavigation property value.
Console.WriteLine(
"Current SmartNavigation value: '{0}'",
pagesSection.SmartNavigation);
// Set the SmartNavigation property to true.
pagesSection.SmartNavigation = true;
// Update if not locked.
if (!pagesSection.SectionInformation.IsLocked)
{
configuration.Save();
Console.WriteLine("** Configuration updated.");
}
else
{
Console.WriteLine("** Could not update, section is locked.");
}
}
catch (System.Exception e)
{
// Unknown error.
Console.WriteLine("A unknown exception detected in" +
"UsingPagesSection Main.");
Console.WriteLine(e);
}
Console.ReadLine();
}
} // UsingPagesSection class end.
} // Samples.Aspnet.SystemWebConfiguration namespace end.
Imports System.Collections
Imports System.Collections.Specialized
Imports System.Configuration
Imports System.Web.Configuration
Imports System.Web.UI
Namespace Samples.Aspnet.SystemWebConfiguration
Class UsingPagesSection
Public Shared Sub Main()
Try
' Get the Web application configuration.
Dim configuration As System.Configuration.Configuration = _
System.Web.Configuration.WebConfigurationManager.OpenWebConfiguration("")
' Get the section.
Dim pagesSection As System.Web.Configuration.PagesSection = _
CType(configuration.GetSection("system.web/pages"), _
System.Web.Configuration.PagesSection)
' Get the AutoImportVBNamespace property.
Console.WriteLine( _
"AutoImportVBNamespace: '{0}'", _
pagesSection.Namespaces.AutoImportVBNamespace)
' Set the AutoImportVBNamespace property.
pagesSection.Namespaces.AutoImportVBNamespace = True
' Get all current Namespaces in the collection.
Dim i As Int16
For i = 0 To pagesSection.Namespaces.Count - 1
Console.WriteLine( _
"Namespaces {0}: '{1}'", i, _
pagesSection.Namespaces(i).Namespace)
Next
' Create a new NamespaceInfo object.
Dim namespaceInfo As System.Web.Configuration.NamespaceInfo = _
New System.Web.Configuration.NamespaceInfo("System")
' Set the Namespace property.
namespaceInfo.Namespace = "System.Collections"
' Execute the Add Method.
pagesSection.Namespaces.Add(namespaceInfo)
' Add a NamespaceInfo object using a constructor.
pagesSection.Namespaces.Add( _
New System.Web.Configuration.NamespaceInfo( _
"System.Collections.Specialized"))
' Execute the RemoveAt method.
pagesSection.Namespaces.RemoveAt(0)
' Execute the Clear method.
pagesSection.Namespaces.Clear()
' Execute the Remove method.
pagesSection.Namespaces.Remove("System.Collections")
' Get the current AutoImportVBNamespace property value.
Console.WriteLine( _
"Current AutoImportVBNamespace value: '{0}'", _
pagesSection.Namespaces.AutoImportVBNamespace)
' Set the AutoImportVBNamespace property to false.
pagesSection.Namespaces.AutoImportVBNamespace = False
' Get the current PageParserFilterType property value.
Console.WriteLine( _
"Current PageParserFilterType value: '{0}'", _
pagesSection.PageParserFilterType)
' Set the PageParserFilterType property to
' "MyNameSpace.AllowOnlySafeControls".
pagesSection.PageParserFilterType = _
"MyNameSpace.AllowOnlySafeControls"
' Get the current Theme property value.
Console.WriteLine( _
"Current Theme value: '{0}'", pagesSection.Theme)
' Set the Theme property to "MyCustomTheme".
pagesSection.Theme = "MyCustomTheme"
' Get the current EnableViewState property value.
Console.WriteLine( _
"Current EnableViewState value: '{0}'", _
pagesSection.EnableViewState)
' Set the EnableViewState property to false.
pagesSection.EnableViewState = False
' Get the current CompilationMode property value.
Console.WriteLine( _
"Current CompilationMode value: '{0}'", _
pagesSection.CompilationMode)
' Set the CompilationMode property to CompilationMode.Always.
pagesSection.CompilationMode = CompilationMode.Always
' Get the current ValidateRequest property value.
Console.WriteLine( _
"Current ValidateRequest value: '{0}'", _
pagesSection.ValidateRequest)
' Set the ValidateRequest property to true.
pagesSection.ValidateRequest = True
' Get the current EnableViewStateMac property value.
Console.WriteLine( _
"Current EnableViewStateMac value: '{0}'", _
pagesSection.EnableViewStateMac)
' Set the EnableViewStateMac property to true.
pagesSection.EnableViewStateMac = True
' Get the current AutoEventWireup property value.
Console.WriteLine( _
"Current AutoEventWireup value: '{0}'", _
pagesSection.AutoEventWireup)
' Set the AutoEventWireup property to false.
pagesSection.AutoEventWireup = False
' Get the current MaxPageStateFieldLength property value.
Console.WriteLine( _
"Current MaxPageStateFieldLength value: '{0}'", _
pagesSection.MaxPageStateFieldLength)
' Set the MaxPageStateFieldLength property to 4098.
pagesSection.MaxPageStateFieldLength = 4098
' Get the current UserControlBaseType property value.
Console.WriteLine( _
"Current UserControlBaseType value: '{0}'", _
pagesSection.UserControlBaseType)
' Set the UserControlBaseType property to
' "MyNameSpace.MyCustomControlBaseType".
pagesSection.UserControlBaseType = _
"MyNameSpace.MyCustomControlBaseType"
' Get all current Controls in the collection.
Dim j As Int32
For j = 0 To pagesSection.Controls.Count - 1
Console.WriteLine("Control {0}:", j)
Console.WriteLine(" TagPrefix = '{0}' ", _
pagesSection.Controls(j).TagPrefix)
Console.WriteLine(" TagName = '{0}' ", _
pagesSection.Controls(j).TagName)
Console.WriteLine(" Source = '{0}' ", _
pagesSection.Controls(j).Source)
Console.WriteLine(" Namespace = '{0}' ", _
pagesSection.Controls(j).Namespace)
Console.WriteLine(" Assembly = '{0}' ", _
pagesSection.Controls(j).Assembly)
Next
' Create a new TagPrefixInfo object.
Dim tagPrefixInfo As System.Web.Configuration.TagPrefixInfo = _
New System.Web.Configuration.TagPrefixInfo("MyCtrl", "MyNameSpace", "MyAssembly", "MyControl", "MyControl.ascx")
' Execute the Add Method.
pagesSection.Controls.Add(tagPrefixInfo)
' Add a TagPrefixInfo object using a constructor.
pagesSection.Controls.Add( _
New System.Web.Configuration.TagPrefixInfo( _
"MyCtrl", "MyNameSpace", "MyAssembly", "MyControl", _
"MyControl.ascx"))
' Get the current StyleSheetTheme property value.
Console.WriteLine( _
"Current StyleSheetTheme value: '{0}'", _
pagesSection.StyleSheetTheme)
' Set the StyleSheetTheme property to
' "MyCustomStyleSheetTheme".
pagesSection.StyleSheetTheme = "MyCustomStyleSheetTheme"
' Get the current EnableSessionState property value.
Console.WriteLine( _
"Current EnableSessionState value: '{0}'", pagesSection.EnableSessionState)
' Set the EnableSessionState property to
' PagesEnableSessionState.ReadOnly.
pagesSection.EnableSessionState = PagesEnableSessionState.ReadOnly
' Get the current MasterPageFile property value.
Console.WriteLine( _
"Current MasterPageFile value: '{0}'", _
pagesSection.MasterPageFile)
' Set the MasterPageFile property to "MyMasterPage.ascx".
pagesSection.MasterPageFile = "MyMasterPage.ascx"
' Get the current Buffer property value.
Console.WriteLine( _
"Current Buffer value: '{0}'", pagesSection.Buffer)
' Set the Buffer property to true.
pagesSection.Buffer = True
' Get all current TagMappings in the collection.
Dim k As Int32
For k = 1 To pagesSection.TagMapping.Count
Console.WriteLine("TagMapping {0}:", i)
Console.WriteLine(" TagTypeName = '{0}'", _
pagesSection.TagMapping(k).TagType)
Console.WriteLine(" MappedTagTypeName = '{0}'", _
pagesSection.TagMapping(k).MappedTagType)
Next
' Add a TagMapInfo object using a constructor.
pagesSection.TagMapping.Add( _
New System.Web.Configuration.TagMapInfo( _
"MyNameSpace.MyControl", "MyNameSpace.MyOtherControl"))
' Get the current PageBaseType property value.
Console.WriteLine( _
"Current PageBaseType value: '{0}'", pagesSection.PageBaseType)
' Set the PageBaseType property to
' "MyNameSpace.MyCustomPagelBaseType".
pagesSection.PageBaseType = "MyNameSpace.MyCustomPagelBaseType"
' Get the current SmartNavigation property value.
Console.WriteLine( _
"Current SmartNavigation value: '{0}'", pagesSection.SmartNavigation)
' Set the SmartNavigation property to true.
pagesSection.SmartNavigation = True
' Update if not locked.
If Not pagesSection.SectionInformation.IsLocked Then
configuration.Save()
Console.WriteLine("** Configuration updated.")
Else
Console.WriteLine("** Could not update, section is locked.")
End If
Catch e As System.Exception
' Unknown error.
Console.WriteLine("A unknown exception detected in " & _
"UsingPagesSection Main.")
Console.WriteLine(e)
End Try
Console.ReadLine()
End Sub
End Class
End Namespace ' Samples.Aspnet.SystemWebConfiguration
注解
类 PagesSection 提供了一种以编程方式访问和修改配置文件 页 部分内容的方法。 此配置部分支持为配置文件范围内的所有页面和控件全局设置某些 ASP.NET 页和控件指令。 这包括 @ Page
指令、 @ Import
通过集合属性的 Namespaces 指令和 @ Register
通过集合属性的 Controls 指令。 它还支持在运行时通过 TagMapping 集合属性将标记类型映射到其他标记类型。
指令指定页面和用户控件编译器在处理 ASP.NET Web 窗体页 (.aspx) 和用户控件 (.ascx) 文件时使用的设置。
构造函数
PagesSection() |
使用默认设置初始化 PagesSection 类的新实例。 |
属性
AsyncTimeout |
获取或设置一个值,该值指示在异步页处理过程中等待异步处理程序完成的秒数。 |
AutoEventWireup |
获取或设置一个值,该值指示 ASP.NET 页的事件是否自动连接到事件处理函数。 |
Buffer |
获取或设置一个值,该值指定 .aspx 页和 .ascx 控件是否使用响应缓冲。 |
ClientIDMode |
获取或设置用于生成控件的标识符的默认算法。 |
CompilationMode |
获取或设置一个值,该值确定如何编译 .aspx 页和 .ascx 控件。 |
ControlRenderingCompatibilityVersion |
获取或设置一个值,该值指定将与任何呈现的 HTML 兼容的 ASP.NET 版本。 |
Controls |
获取 TagPrefixInfo 对象的集合。 |
CurrentConfiguration |
获取对顶级 Configuration 实例的引用,该实例表示当前 ConfigurationElement 实例所属的配置层次结构。 (继承自 ConfigurationElement) |
ElementInformation |
获取包含 ConfigurationElement 对象的不可自定义的信息和功能的 ElementInformation 对象。 (继承自 ConfigurationElement) |
ElementProperty |
获取表示 ConfigurationElement 对象本身的 ConfigurationElementProperty 对象。 (继承自 ConfigurationElement) |
EnableEventValidation |
获取或设置一个值,该值指定是否启用事件验证。 |
EnableSessionState |
获取或设置一个值,该值指定会话状态是启用、禁用还是只读。 |
EnableViewState |
获取或设置一个值,该值指示是启用还是禁用视图状态。 |
EnableViewStateMac |
获取或设置一个值,该值指定当页从客户端回发时,ASP.NET 是否应在页的视图状态上运行消息验证代码 (MAC)。 |
EvaluationContext |
获取 ConfigurationElement 对象的 ContextInformation 对象。 (继承自 ConfigurationElement) |
HasContext |
获取一个值,该值指示 CurrentConfiguration 属性是否为 |
IgnoreDeviceFilters |
获取 ASP.NET 在呈现页面时应忽略的设备标记的集合。 |
Item[ConfigurationProperty] |
获取或设置此配置元素的属性或特性。 (继承自 ConfigurationElement) |
Item[String] |
获取或设置此配置元素的属性、特性或子元素。 (继承自 ConfigurationElement) |
LockAllAttributesExcept |
获取被锁定的特性的集合。 (继承自 ConfigurationElement) |
LockAllElementsExcept |
获取被锁定的元素的集合。 (继承自 ConfigurationElement) |
LockAttributes |
获取被锁定的特性的集合。 (继承自 ConfigurationElement) |
LockElements |
获取被锁定的元素的集合。 (继承自 ConfigurationElement) |
LockItem |
获取或设置一个值,该值指示是否已锁定该元素。 (继承自 ConfigurationElement) |
MaintainScrollPositionOnPostBack |
获取或设置一个值,该值指示在从来自服务器的回发返回的过程中是否应保持页滚动位置。 |
MasterPageFile |
获取或设置对应用程序母版页的引用。 |
MaxPageStateFieldLength |
获取或设置单个视图状态字段可以包含的最大字符数。 |
Namespaces |
获取 NamespaceInfo 对象的集合。 |
PageBaseType |
获取或设置一个值,该值指定 .aspx 页在默认情况下继承的代码隐藏类。 |
PageParserFilterType |
获取或设置一个值,该值指定分析器筛选器类型。 |
Properties |
获取属性的集合。 (继承自 ConfigurationElement) |
RenderAllHiddenFieldsAtTopOfForm |
获取或设置一个值,该值指示是否系统生成的所有隐藏域都呈现在表单的顶部。 |
SectionInformation |
获取一个 SectionInformation 对象,该对象包含 ConfigurationSection 对象的不可自定义的信息和功能。 (继承自 ConfigurationSection) |
SmartNavigation |
获取或设置一个值,该值指示是否启用智能导航。 |
StyleSheetTheme |
获取或设置 ASP.NET 样式表主题的名称。 |
TagMapping |
获取 TagMapInfo 对象的集合。 |
Theme |
获取或设置 ASP.NET 页主题的名称。 |
UserControlBaseType |
获取或设置一个值,该值指定用户控件在默认情况下继承的代码隐藏类。 |
ValidateRequest |
获取或设置一个值,该值确定 ASP.NET 是否针对危险值检查来自浏览器的输入。 有关详细信息,请参阅脚本侵入概述。 |
ViewStateEncryptionMode |
获取或设置 ASP.NET 在保留 |