Export (0) Print
Expand All

TagPrefixInfo Class

Defines a configuration element containing tag-related information.

Namespace:  System.Web.Configuration
Assembly:  System.Web (in System.Web.dll)

public sealed class TagPrefixInfo : ConfigurationElement

The TagPrefixInfo type exposes the following members.

  NameDescription
Public methodTagPrefixInfoInitializes a new instance of the TagPrefixInfo class using the passed values.
Top

  NameDescription
Public propertyAssemblyGets or sets the name of the assembly containing the control implementation.
Public propertyCurrentConfigurationGets a reference to the top-level Configuration instance that represents the configuration hierarchy that the current ConfigurationElement instance belongs to. (Inherited from ConfigurationElement.)
Public propertyElementInformationGets an ElementInformation object that contains the non-customizable information and functionality of the ConfigurationElement object. (Inherited from ConfigurationElement.)
Protected propertyElementPropertyGets the ConfigurationElementProperty object that represents the ConfigurationElement object itself. (Inherited from ConfigurationElement.)
Protected propertyItem[ConfigurationProperty]Gets or sets a property or attribute of this configuration element. (Inherited from ConfigurationElement.)
Protected propertyItem[String]Gets or sets a property, attribute, or child element of this configuration element. (Inherited from ConfigurationElement.)
Public propertyLockAllAttributesExceptGets the collection of locked attributes. (Inherited from ConfigurationElement.)
Public propertyLockAllElementsExceptGets the collection of locked elements. (Inherited from ConfigurationElement.)
Public propertyLockAttributesGets the collection of locked attributes (Inherited from ConfigurationElement.)
Public propertyLockElementsGets the collection of locked elements. (Inherited from ConfigurationElement.)
Public propertyLockItemGets or sets a value indicating whether the element is locked. (Inherited from ConfigurationElement.)
Public propertyNamespaceGets or sets the namespace in which the control resides.
Protected propertyPropertiesGets the collection of properties. (Inherited from ConfigurationElement.)
Public propertySourceGets or sets the name and path of the file containing the user control.
Public propertyTagNameGets or sets the name of the user control.
Public propertyTagPrefixGets or sets the tag prefix that is being associated with a source file or namespace and assembly.
Top

  NameDescription
Protected methodDeserializeElementReads XML from the configuration file. (Inherited from ConfigurationElement.)
Public methodEqualsCompares this instance to another object. (Overrides ConfigurationElement.Equals(Object).)
Public methodGetHashCodeReturns a hash value for the current instance. (Overrides ConfigurationElement.GetHashCode().)
Public methodGetTypeGets the Type of the current instance. (Inherited from Object.)
Protected methodInitSets the ConfigurationElement object to its initial state. (Inherited from ConfigurationElement.)
Protected methodInitializeDefaultUsed to initialize a default set of values for the ConfigurationElement object. (Inherited from ConfigurationElement.)
Protected methodIsModifiedIndicates whether this configuration element has been modified since it was last saved or loaded, when implemented in a derived class. (Inherited from ConfigurationElement.)
Public methodIsReadOnlyGets a value indicating whether the ConfigurationElement object is read-only. (Inherited from ConfigurationElement.)
Protected methodResetResets the internal state of the ConfigurationElement object, including the locks and the properties collections. (Inherited from ConfigurationElement.)
Protected methodResetModifiedResets the value of the IsModified method to false when implemented in a derived class. (Inherited from ConfigurationElement.)
Protected methodSerializeElementWrites the contents of this configuration element to the configuration file when implemented in a derived class. (Inherited from ConfigurationElement.)
Protected methodSerializeToXmlElementWrites the outer tags of this configuration element to the configuration file when implemented in a derived class. (Inherited from ConfigurationElement.)
Protected methodSetReadOnlySets the IsReadOnly property for the ConfigurationElement object and all subelements. (Inherited from ConfigurationElement.)
Public methodToStringReturns a string that represents the current object. (Inherited from Object.)
Protected methodUnmergeModifies the ConfigurationElement object to remove all values that should not be saved. (Inherited from ConfigurationElement.)
Top

The TagPrefixInfo class allows you to programmatically access and modify tag-prefix information stored in a configuration file. It provides the same functionality as the ASP.NET @Register directive. Tag prefixes associate a "namespace" in ASP.NET to the assemblies and namespaces that must be included for custom controls and user controls to work properly. TagPrefixInfo objects are stored as members of a TagPrefixCollection object. The TagPrefixCollection class allows you to programmatically access and modify the controls subsection of the pages section of a configuration file.

TagPrefixInfo objects are added to the collection using the add element and specifying a value for the tagPrefix attribute along with values for other relevant attributes. The other required information varies based on the kind of control you will use with the specified tag prefix:

The same tagPrefix value can be used to map to multiple assemblies or namespaces.

NoteNote

When a source is specified, the user control itself must not be in the same directory as the page. If it is, you get a run-time error when you attempt to load the page.

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

<system.web>
  <pages>
    <controls>
      <!—- 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>
   </pages>
</system.web>

The following code example shows how to use the TagPrefixInfo class to programmatically modify tag prefix settings. This code example is part of a larger example provided for the PagesSection class.

// 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"));

.NET Framework

Supported in: 4.6, 4.5, 4, 3.5, 3.0, 2.0

Windows 8.1, Windows Server 2012 R2, Windows 8, Windows Server 2012, Windows 7, Windows Vista SP2, Windows Server 2008 (Server Core Role not supported), Windows Server 2008 R2 (Server Core Role supported with SP1 or later; Itanium not supported)

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.
Show:
© 2014 Microsoft