2 out of 2 rated this helpful - Rate this topic

PagesSection Class

Provides programmatic access to the pages section of the configuration file. This class cannot be inherited.

Namespace:  System.Web.Configuration
Assembly:  System.Web (in System.Web.dll)
public sealed class PagesSection : ConfigurationSection

The PagesSection type exposes the following members.

  Name Description
Public method PagesSection Infrastructure. Initializes a new instance of the PagesSection class using default settings.
Top
  Name Description
Public property AsyncTimeout Gets or sets a value indicating the number of seconds to wait for an asynchronous handler to complete during asynchronous page processing.
Public property AutoEventWireup Gets or sets a value indicating whether events for ASP.NET pages are automatically connected to event-handling functions.
Public property Buffer Gets or sets a value that specifies whether .aspx pages and .ascx controls use response buffering.
Public property ClientIDMode Gets or sets the default algorithm that is used to generate a control's identifier.
Public property CompilationMode Gets or sets a value that determines how .aspx pages and .ascx controls are compiled.
Public property ControlRenderingCompatibilityVersion Gets or sets a value that specifies the ASP.NET version that any rendered HTML will be compatible with.
Public property Controls Gets a collection of TagPrefixInfo objects.
Public property CurrentConfiguration Gets a reference to the top-level Configuration instance that represents the configuration hierarchy that the current ConfigurationElement instance belongs to. (Inherited from ConfigurationElement.)
Public property ElementInformation Gets an ElementInformation object that contains the non-customizable information and functionality of the ConfigurationElement object. (Inherited from ConfigurationElement.)
Protected property ElementProperty Gets the ConfigurationElementProperty object that represents the ConfigurationElement object itself. (Inherited from ConfigurationElement.)
Public property EnableEventValidation Gets or sets a value that specifies whether event validation is enabled.
Public property EnableSessionState Gets or sets a value that specifies whether the session state is enabled, disabled, or read-only.
Public property EnableViewState Gets or sets a value indicating whether view state is enabled or disabled.
Public property EnableViewStateMac Gets or sets a value that specifies whether ASP.NET should run a message authentication code (MAC) on the page's view state when the page is posted back from the client.
Protected property EvaluationContext Gets the ContextInformation object for the ConfigurationElement object. (Inherited from ConfigurationElement.)
Public property IgnoreDeviceFilters Gets the collection of device tags that ASP.NET should ignore when it renders a page.
Protected property Item[ConfigurationProperty] Gets or sets a property or attribute of this configuration element. (Inherited from ConfigurationElement.)
Protected property Item[String] Gets or sets a property, attribute, or child element of this configuration element. (Inherited from ConfigurationElement.)
Public property LockAllAttributesExcept Gets the collection of locked attributes. (Inherited from ConfigurationElement.)
Public property LockAllElementsExcept Gets the collection of locked elements. (Inherited from ConfigurationElement.)
Public property LockAttributes Gets the collection of locked attributes (Inherited from ConfigurationElement.)
Public property LockElements Gets the collection of locked elements. (Inherited from ConfigurationElement.)
Public property LockItem Gets or sets a value indicating whether the element is locked. (Inherited from ConfigurationElement.)
Public property MaintainScrollPositionOnPostBack Gets or sets a value indicating whether the page scroll position should be maintained upon returning from a postback from the server.
Public property MasterPageFile Gets or sets a reference to the master page for the application.
Public property MaxPageStateFieldLength Gets or sets the maximum number of characters that a single view-state field can contain.
Public property Namespaces Gets a collection of NamespaceInfo objects.
Public property PageBaseType Gets or sets a value that specifies a code-behind class that .aspx pages inherit by default.
Public property PageParserFilterType Gets or sets a value that specifies the parser filter type.
Protected property Properties Gets the collection of properties. (Inherited from ConfigurationElement.)
Public property RenderAllHiddenFieldsAtTopOfForm Gets or sets a value that indicates whether all system-generated hidden fields are rendered at the top of the form.
Public property SectionInformation Gets a SectionInformation object that contains the non-customizable information and functionality of the ConfigurationSection object. (Inherited from ConfigurationSection.)
Public property SmartNavigation Gets or sets a value that indicates whether smart navigation is enabled.
Public property StyleSheetTheme Gets or sets the name of an ASP.NET style sheet theme.
Public property TagMapping Gets a collection of TagMapInfo objects.
Public property Theme Gets or sets the name of an ASP.NET page theme.
Public property UserControlBaseType Gets or sets a value that specifies a code-behind class that user controls inherit by default.
Public property ValidateRequest Gets or sets a value that determines whether ASP.NET examines input from the browser for dangerous values. For more information, see Script Exploits Overview.
Public property ViewStateEncryptionMode Gets or sets the encryption mode that ASP.NET uses when maintaining ViewState values.
Top
  Name Description
Protected method DeserializeElement Reads XML from the configuration file. (Inherited from ConfigurationElement.)
Protected method DeserializeSection Infrastructure. Reads XML from the configuration file. (Inherited from ConfigurationSection.)
Public method Equals Compares the current ConfigurationElement instance to the specified object. (Inherited from ConfigurationElement.)
Protected method Finalize Allows an object to try to free resources and perform other cleanup operations before it is reclaimed by garbage collection. (Inherited from Object.)
Public method GetHashCode Gets a unique value representing the current ConfigurationElement instance. (Inherited from ConfigurationElement.)
Protected method GetRuntimeObject Returns a custom object when overridden in a derived class. (Inherited from ConfigurationSection.)
Protected method GetTransformedAssemblyString Returns the transformed version of the specified assembly name. (Inherited from ConfigurationElement.)
Protected method GetTransformedTypeString Returns the transformed version of the specified type name. (Inherited from ConfigurationElement.)
Public method GetType Gets the Type of the current instance. (Inherited from Object.)
Protected method Init Sets the ConfigurationElement object to its initial state. (Inherited from ConfigurationElement.)
Protected method InitializeDefault Used to initialize a default set of values for the ConfigurationElement object. (Inherited from ConfigurationElement.)
Protected method IsModified Indicates whether this configuration element has been modified since it was last saved or loaded when implemented in a derived class. (Inherited from ConfigurationSection.)
Public method IsReadOnly Gets a value indicating whether the ConfigurationElement object is read-only. (Inherited from ConfigurationElement.)
Protected method ListErrors Adds the invalid-property errors in this ConfigurationElement object, and in all subelements, to the passed list. (Inherited from ConfigurationElement.)
Protected method MemberwiseClone Creates a shallow copy of the current Object. (Inherited from Object.)
Protected method OnDeserializeUnrecognizedAttribute Gets a value indicating whether an unknown attribute is encountered during deserialization. (Inherited from ConfigurationElement.)
Protected method OnDeserializeUnrecognizedElement Gets a value indicating whether an unknown element is encountered during deserialization. (Inherited from ConfigurationElement.)
Protected method OnRequiredPropertyNotFound Throws an exception when a required property is not found. (Inherited from ConfigurationElement.)
Protected method PostDeserialize Called after deserialization. (Inherited from ConfigurationElement.)
Protected method PreSerialize Called before serialization. (Inherited from ConfigurationElement.)
Protected method Reset Resets the internal state of the ConfigurationElement object, including the locks and the properties collections. (Inherited from ConfigurationElement.)
Protected method ResetModified Resets the value of the IsModified method to false when implemented in a derived class. (Inherited from ConfigurationSection.)
Protected method SerializeElement Writes the contents of this configuration element to the configuration file when implemented in a derived class. (Inherited from ConfigurationElement.)
Protected method SerializeSection Infrastructure. Creates an XML string containing an unmerged view of the ConfigurationSection object as a single section to write to a file. (Inherited from ConfigurationSection.)
Protected method SerializeToXmlElement Writes the outer tags of this configuration element to the configuration file when implemented in a derived class. (Inherited from ConfigurationElement.)
Protected method SetPropertyValue Sets a property to the specified value. (Inherited from ConfigurationElement.)
Protected method SetReadOnly Sets the IsReadOnly property for the ConfigurationElement object and all subelements. (Inherited from ConfigurationElement.)
Protected method ShouldSerializeElementInTargetVersion Indicates whether the specified element should be serialized when the configuration object hierarchy is serialized for the specified target version of the .NET Framework. (Inherited from ConfigurationSection.)
Protected method ShouldSerializePropertyInTargetVersion Indicates whether the specified property should be serialized when the configuration object hierarchy is serialized for the specified target version of the .NET Framework. (Inherited from ConfigurationSection.)
Protected method ShouldSerializeSectionInTargetVersion Indicates whether the current ConfigurationSection instance should be serialized when the configuration object hierarchy is serialized for the specified target version of the .NET Framework. (Inherited from ConfigurationSection.)
Public method ToString Returns a string that represents the current object. (Inherited from Object.)
Protected method Unmerge Modifies the ConfigurationElement object to remove all values that should not be saved. (Inherited from ConfigurationElement.)
Top

The PagesSection class provides a way to programmatically access and modify the content of the configuration file pages section. This configuration section supports setting certain ASP.NET page and control directives globally for all pages and controls in the scope of the configuration file. This includes the @ Page directive, the @ Import directive through the Namespaces collection property, and the @ Register directive through the Controls collection property. It also provides support for mapping tag types to other tag types at run time through the TagMapping collection property.

Directives specify settings used by the page and user-control compilers when they process ASP.NET Web Forms page (.aspx) and user control (.ascx) files.

This example demonstrates how to specify values declaratively for several attributes of the pages section, which can also be accessed as members of the PagesSection class.

The following configuration file example shows how to specify values declaratively for the pages section.

<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>

The following code example demonstrates how to use the PagesSection class.


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.


.NET Framework

Supported in: 4, 3.5, 3.0, 2.0

Windows 7, Windows Vista SP1 or later, Windows XP SP3, Windows XP SP2 x64 Edition, Windows Server 2008 (Server Core not supported), Windows Server 2008 R2 (Server Core supported with SP1 or later), Windows Server 2003 SP2

The .NET Framework does not support all versions of every platform. For a list of the supported versions, see .NET Framework System Requirements.
Any public static (Shared in Visual Basic) members of this type are thread safe. Any instance members are not guaranteed to be thread safe.
Did you find this helpful?
(1500 characters remaining)
Community Content Add
Annotations FAQ