UrlMapping 类

定义

将显示给用户的 URL 映射到 Web 应用程序中某个页面的 URL。Maps a URL that is displayed to users to the URL of a page in your Web application. 此类不能被继承。This class cannot be inherited.

public ref class UrlMapping sealed : System::Configuration::ConfigurationElement
public sealed class UrlMapping : System.Configuration.ConfigurationElement
type UrlMapping = class
    inherit ConfigurationElement
Public NotInheritable Class UrlMapping
Inherits ConfigurationElement
继承

示例

下面的示例使用UrlMappingsSection web.config 文件的来映射两个 url, 并为其他 url 添加映射。The following example uses the UrlMappingsSection of the Web.config file to map two URLs, and adds a mapping for an additional URL. 修改并保存 web.config 文件时, 应用程序将重新启动。When you modify and save the Web.config file, your application restarts.

<%@ Page Language="C#" %>
<%@ Import Namespace="System.Web.Configuration" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" 
    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<script runat="server">
    int showVal = 0;

    protected void Page_Load(object sender, EventArgs e)
    {
        // Get the parameter value from the QueryString
        if (Request.Params["show"] != null)
            showVal = Int32.Parse(Request.Params["show"]);

        // Show a page depending on the parameter value
        NoShowPanel.Visible = (showVal == 0);
        ShowHomePage.Visible = (showVal == 1);
        ShowProductsPage.Visible = (showVal == 2);
        ShowEventsPage.Visible = (showVal == 3);

        // <Snippet2>
        UrlMapping urlMap = null;
        
        // Open Web.config
        Configuration config =
            WebConfigurationManager.OpenWebConfiguration("~");
        // Get the UrlMappings section
        UrlMappingsSection urlMapSection =
            (UrlMappingsSection)config.GetSection(
                "system.web/urlMappings");
        
        // Modify UrlMapping in Web.config first time through
        if (!Page.IsPostBack)
        {
            // If not already added, add a UrlMapping to the section
            if (urlMapSection.UrlMappings.Count == 2)
            {
                urlMap = new UrlMapping("~/events.aspx", 
                    "~/default.aspx?show=3");
                urlMapSection.UrlMappings.Add(urlMap);
                
                // This line assumes permission to write to disk
                config.Save();
            }
        }

        if (showVal > 0)
        {
            // <Snippet4>
            urlMap = (UrlMapping)urlMapSection.UrlMappings[showVal - 1];
            realURL.Text = urlMap.MappedUrl;
            // </Snippet4>
        }
        // </Snippet2>
    }

</script>

<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
    <title>UrlMapping Example</title>
</head>
<body>
    <form id="form1" runat="server">
    <div>
    
    <asp:Panel ID="NoShowPanel" runat="server" Visible="true">
        <h2>Show no page</h2>
        <p><a href="home.aspx">Home.aspx</a></p>
        <p><a href="products.aspx">Products.aspx</a></p>
        <p><a href="events.aspx">Events.aspx</a></p>
    </asp:Panel>
    <asp:Panel ID="ShowHomePage" runat="server" Visible="false">
        <h2>Home Page</h2>
        <p><a href="products.aspx">Products.aspx</a></p>
        <p><a href="events.aspx">Events.aspx</a></p>
    </asp:Panel>
    <asp:Panel ID="ShowProductsPage" runat="server" Visible="false">
        <h2>Products Page</h2>
        <p><a href="home.aspx">Home.aspx</a></p>
        <p><a href="events.aspx">Events.aspx</a></p>
    </asp:Panel>
    <asp:Panel ID="ShowEventsPage" runat="server" Visible="false">
        <h2>Events Page</h2>
        <p><a href="home.aspx">Home.aspx</a></p>
        <p><a href="products.aspx">Products.aspx</a></p>
    </asp:Panel>
    <p>The real URL for this page is 
        <asp:Label ID="realURL" runat="server">[None]</asp:Label></p>

    </div>
    </form>
</body>
</html>
<%@ Page Language="VB" %>
<%@ Import Namespace="System.Web.Configuration" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" 
    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<script runat="server">
    Dim showVal As Integer

    Protected Sub Page_Load(ByVal sender As Object, ByVal e As EventArgs)
        ' Get the parameter value from the QueryString
        If Not IsNothing(Request.Params("show")) Then
            showVal = Int32.Parse(Request.Params("show"))
        Else
            showVal = 0
        End If
        
        ' Show a page depending on the parameter value
        NoShowPanel.Visible = (showVal = 0)
        ShowHomePage.Visible = (showVal = 1)
        ShowProductsPage.Visible = (showVal = 2)
        ShowEventsPage.Visible = (showVal = 3)

        ' <Snippet2>
         dim urlMap as UrlMapping

        Dim config As Configuration
        ' Open Web.config
        config = _
            WebConfigurationManager.OpenWebConfiguration("~")
        ' Get the UrlMappings section
        Dim urlMapSection As UrlMappingsSection
        urlMapSection = _
           CType(config.GetSection( _
               "system.web/urlMappings"), UrlMappingsSection)
               
        ' Modify UrlMapping in Web.config first time through
        If (Not Page.IsPostBack) Then
            ' If not already added, add a UrlMapping to the section
            If urlMapSection.UrlMappings.Count = 2 Then
                urlMap = New UrlMapping("~/events.aspx", _
                    "~/default.aspx?show=3")
                urlMapSection.UrlMappings.Add(urlMap)
                
                ' This line assumes permission to write to disk
                config.Save()
            End If
        End If
        
        If showVal > 0 Then
            '<Snippet4>
            urlMap = CType(urlMapSection.UrlMappings(showVal - 1), UrlMapping)
            realURL.Text = urlMap.MappedUrl
            '</Snippet4>
        End If
        ' </Snippet2>
    End Sub

</script>

<html xmlns="http://www.w3.org/1999/xhtml" >
<head id="Head1" runat="server">
    <title>UrlMapping Example</title>
</head>
<body>
    <form id="form1" runat="server">
    <div>
    
    <asp:Panel ID="NoShowPanel" runat="server" Visible="true">
        <h2>Show no page</h2>
        <p><a href="home.aspx">Home.aspx</a></p>
        <p><a href="products.aspx">Products.aspx</a></p>
        <p><a href="events.aspx">Events.aspx</a></p>
    </asp:Panel>
    <asp:Panel ID="ShowHomePage" runat="server" Visible="false">
        <h2>Home Page</h2>
        <p><a href="products.aspx">Products.aspx</a></p>
        <p><a href="events.aspx">Events.aspx</a></p>
    </asp:Panel>
    <asp:Panel ID="ShowProductsPage" runat="server" Visible="false">
        <h2>Products Page</h2>
        <p><a href="home.aspx">Home.aspx</a></p>
        <p><a href="events.aspx">Events.aspx</a></p>
    </asp:Panel>
    <asp:Panel ID="ShowEventsPage" runat="server" Visible="false">
        <h2>Events Page</h2>
        <p><a href="home.aspx">Home.aspx</a></p>
        <p><a href="products.aspx">Products.aspx</a></p>
    </asp:Panel>
    <p>The real URL for this page is 
        <asp:Label ID="realURL" runat="server">default.aspx</asp:Label></p>

    </div>
    </form>
</body>
</html>

注解

通过UrlMapping类, 可以将显示给用户的 url 映射到 Web 应用程序中存在的 url。The UrlMapping class allows you to map a URL that is displayed to users to a URL that exists in your Web application. 向添加UrlMappingCollection add对象是以编程方式等效于在配置文件的urlMappings节中包含元素。 UrlMappingAdding a UrlMapping object to a UrlMappingCollection is the programmatic equivalent to including an add element in the urlMappings section of a configuration file.

UrlMapping个对象都包含两个标识 URL 的属性。Each UrlMapping object contains two properties identifying a URL. 一个属性指定向用户显示的 URL;另一个在 Web 应用程序中指定一个 URL。One property specifies the URL shown to the user; the other specifies a URL in your Web application. UrlMappedUrl属性中均忽略尾随空白字符。Trailing white-space characters are ignored in both the Url and MappedUrl properties.

备注

属性可以根据值为MachineToApplication的节属性AllowDefinition所定义的限制, 将信息写入配置文件的相关部分。 UrlMappingThe UrlMapping property can write information into the related section of the configuration file according to the restrictions defined by the section property AllowDefinition whose value is MachineToApplication. 在层次结构中不允许在配置文件中写入的任何尝试都会导致分析器生成错误消息。Any attempt to write in a configuration file at a level not allowed in the hierarchy will result in an error message generated by the parser. 但是, 可以使用此类在层次结构中的任何级别上读取配置信息。However, you can use this class to read configuration information at any level in the hierarchy.

构造函数

UrlMapping(String, String)

初始化 UrlMapping 类的新实例。Initializes a new instance of the UrlMapping class.

属性

CurrentConfiguration

获取对顶级 Configuration 实例的引用,该实例表示当前 ConfigurationElement 实例所属的配置层次结构。Gets a reference to the top-level Configuration instance that represents the configuration hierarchy that the current ConfigurationElement instance belongs to.

(继承自 ConfigurationElement)
ElementInformation

获取包含 ConfigurationElement 对象的不可自定义的信息和功能的 ElementInformation 对象。Gets an ElementInformation object that contains the non-customizable information and functionality of the ConfigurationElement object.

(继承自 ConfigurationElement)
ElementProperty

获取表示 ConfigurationElement 对象本身的 ConfigurationElementProperty 对象。Gets the ConfigurationElementProperty object that represents the ConfigurationElement object itself.

(继承自 ConfigurationElement)
EvaluationContext

获取 ConfigurationElement 对象的 ContextInformation 对象。Gets the ContextInformation object for the ConfigurationElement object.

(继承自 ConfigurationElement)
HasContext

获取一个值,该值指示 CurrentConfiguration 属性是否为 nullGets a value that indicates whether the CurrentConfiguration property is null.

(继承自 ConfigurationElement)
Item[ConfigurationProperty]

获取或设置此配置元素的属性或特性。Gets or sets a property or attribute of this configuration element.

(继承自 ConfigurationElement)
Item[String]

获取或设置此配置元素的属性、特性或子元素。Gets or sets a property, attribute, or child element of this configuration element.

(继承自 ConfigurationElement)
LockAllAttributesExcept

获取被锁定的特性的集合。Gets the collection of locked attributes.

(继承自 ConfigurationElement)
LockAllElementsExcept

获取被锁定的元素的集合。Gets the collection of locked elements.

(继承自 ConfigurationElement)
LockAttributes

获取被锁定的特性的集合。Gets the collection of locked attributes.

(继承自 ConfigurationElement)
LockElements

获取被锁定的元素的集合。Gets the collection of locked elements.

(继承自 ConfigurationElement)
LockItem

获取或设置一个值,该值指示是否已锁定该元素。Gets or sets a value indicating whether the element is locked.

(继承自 ConfigurationElement)
MappedUrl

您的 Web 应用程序中的 URL。A URL in your Web application.

Properties

获取属性的集合。Gets the collection of properties.

(继承自 ConfigurationElement)
Url

获取显示给用户的 URL。Gets the URL that is displayed to the user.

方法

DeserializeElement(XmlReader, Boolean)

从配置文件读取 XML。Reads XML from the configuration file.

(继承自 ConfigurationElement)
Equals(Object)

将当前的 ConfigurationElement 实例与指定的对象进行比较。Compares the current ConfigurationElement instance to the specified object.

(继承自 ConfigurationElement)
GetHashCode()

获取表示当前 ConfigurationElement 实例的唯一值。Gets a unique value representing the current ConfigurationElement instance.

(继承自 ConfigurationElement)
GetTransformedAssemblyString(String)

返回指定程序集名称的转换版本。Returns the transformed version of the specified assembly name.

(继承自 ConfigurationElement)
GetTransformedTypeString(String)

返回指定类型名称的转换版本。Returns the transformed version of the specified type name.

(继承自 ConfigurationElement)
GetType()

获取当前实例的 TypeGets the Type of the current instance.

(继承自 Object)
Init()

ConfigurationElement 对象设置为其初始状态。Sets the ConfigurationElement object to its initial state.

(继承自 ConfigurationElement)
InitializeDefault()

用于初始化 ConfigurationElement 对象的默认值集。Used to initialize a default set of values for the ConfigurationElement object.

(继承自 ConfigurationElement)
IsModified()

指示自上次保存或加载该配置元素后并在派生类中实现该元素时,该元素是否已被修改。Indicates whether this configuration element has been modified since it was last saved or loaded, when implemented in a derived class.

(继承自 ConfigurationElement)
IsReadOnly()

获取一个值,该值指示 ConfigurationElement 对象是否为只读。Gets a value indicating whether the ConfigurationElement object is read-only.

(继承自 ConfigurationElement)
ListErrors(IList)

将此 ConfigurationElement 对象以及所有子元素中无效属性的错误添加到传递的列表中。Adds the invalid-property errors in this ConfigurationElement object, and in all subelements, to the passed list.

(继承自 ConfigurationElement)
MemberwiseClone()

创建当前 Object 的浅表副本。Creates a shallow copy of the current Object.

(继承自 Object)
OnDeserializeUnrecognizedAttribute(String, String)

获取一个值,该值指示反序列化过程中是否遇到未知特性。Gets a value indicating whether an unknown attribute is encountered during deserialization.

(继承自 ConfigurationElement)
OnDeserializeUnrecognizedElement(String, XmlReader)

获取一个值,该值指示反序列化过程中是否遇到未知元素。Gets a value indicating whether an unknown element is encountered during deserialization.

(继承自 ConfigurationElement)
OnRequiredPropertyNotFound(String)

找不到所需属性时引发异常。Throws an exception when a required property is not found.

(继承自 ConfigurationElement)
PostDeserialize()

反序列化后调用。Called after deserialization.

(继承自 ConfigurationElement)
PreSerialize(XmlWriter)

在序列化之前调用。Called before serialization.

(继承自 ConfigurationElement)
Reset(ConfigurationElement)

重置 ConfigurationElement 对象的内部状态,包括锁和属性集合。Resets the internal state of the ConfigurationElement object, including the locks and the properties collections.

(继承自 ConfigurationElement)
ResetModified()

在派生类中实现时,将 IsModified() 方法的值重置为 falseResets the value of the IsModified() method to false when implemented in a derived class.

(继承自 ConfigurationElement)
SerializeElement(XmlWriter, Boolean)

当在派生类中实现后,将此配置元素的内容写入配置文件。Writes the contents of this configuration element to the configuration file when implemented in a derived class.

(继承自 ConfigurationElement)
SerializeToXmlElement(XmlWriter, String)

当在派生类中实现后,将此配置元素的外部标记写入配置文件。Writes the outer tags of this configuration element to the configuration file when implemented in a derived class.

(继承自 ConfigurationElement)
SetPropertyValue(ConfigurationProperty, Object, Boolean)

将属性设置为指定值。Sets a property to the specified value.

(继承自 ConfigurationElement)
SetReadOnly()

设置 ConfigurationElement 对象及所有子元素的 IsReadOnly() 属性。Sets the IsReadOnly() property for the ConfigurationElement object and all subelements.

(继承自 ConfigurationElement)
ToString()

返回表示当前对象的字符串。Returns a string that represents the current object.

(继承自 Object)
Unmerge(ConfigurationElement, ConfigurationElement, ConfigurationSaveMode)

修改 ConfigurationElement 对象以移除所有不应该保存的值。Modifies the ConfigurationElement object to remove all values that should not be saved.

(继承自 ConfigurationElement)

适用于

另请参阅