語言

UrlMapping 類別

定義

將顯示給使用者的 URL 映射到你網頁應用程式中的頁面 URL。 此類別無法獲得繼承。

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

範例

以下範例使用 Web.config 檔案的 映射 UrlMappingsSection 兩個 URL,並新增一個 URL 的映射。 當你修改並儲存 Web.config 檔案時,應用程式會重新啟動。

<%@ 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 映射到你網頁應用程式中存在的 URL。 在程式上將物件加入 UrlMapping a UrlMappingCollection 就像在設定檔的區段中包含某個 add 元素 urlMappings 一樣。

每個 UrlMapping 物件包含兩個屬性,標示一個 URL。 其中一個屬性指定顯示給使用者的網址;另一個則指定你的網頁應用程式中的網址。 在 和 UrlMappedUrl 屬性中,尾隨的空白字元都被忽略。

Note

屬性UrlMapping可依據值為 AllowDefinition的區段MachineToApplication屬性所定義的限制,將資訊寫入設定檔的相關區段。 任何嘗試在階層結構中不允許的層級寫入設定檔,解析器都會產生錯誤訊息。 不過,你可以用這個類別讀取階層中任何層級的設定資訊。

建構函式

名稱 Description
UrlMapping(String, String)

初始化 UrlMapping 類別的新執行個體。

屬性

名稱 Description
CurrentConfiguration

取得最上層 Configuration 實例的參考,表示目前 ConfigurationElement 實例所屬的組態階層。

(繼承來源 ConfigurationElement)
ElementInformation

取得 ElementInformation 物件,其中包含 ConfigurationElement 物件的不可自定義資訊和功能。

(繼承來源 ConfigurationElement)
ElementProperty

取得代表 ConfigurationElementProperty 物件本身的 ConfigurationElement 物件。

(繼承來源 ConfigurationElement)
EvaluationContext

取得 ContextInformation 物件的 ConfigurationElement 物件。

(繼承來源 ConfigurationElement)
HasContext

取得值,這個值表示 CurrentConfiguration 屬性是否 null。

(繼承來源 ConfigurationElement)
Item[ConfigurationProperty]

取得或設定這個組態項目的屬性或屬性。

(繼承來源 ConfigurationElement)
Item[String]

取得或設定這個組態專案的屬性、屬性或子專案。

(繼承來源 ConfigurationElement)
LockAllAttributesExcept

取得鎖定屬性的集合。

(繼承來源 ConfigurationElement)
LockAllElementsExcept

取得鎖定專案的集合。

(繼承來源 ConfigurationElement)
LockAttributes

取得鎖定屬性的集合。

(繼承來源 ConfigurationElement)
LockElements

取得鎖定專案的集合。

(繼承來源 ConfigurationElement)
LockItem

取得或設定值,指出專案是否已鎖定。

(繼承來源 ConfigurationElement)
MappedUrl

你網頁應用程式中的一個網址。

Properties

取得屬性的集合。

(繼承來源 ConfigurationElement)
Url

取得顯示給使用者的網址。

方法

名稱 Description
DeserializeElement(XmlReader, Boolean)

從組態檔讀取 XML。

(繼承來源 ConfigurationElement)
Equals(Object)

將目前 ConfigurationElement 實例與指定的物件進行比較。

(繼承來源 ConfigurationElement)
GetHashCode()

會獲得代表當前 ConfigurationElement 實例的唯一值。

(繼承來源 ConfigurationElement)
GetTransformedAssemblyString(String)

傳回所指定元件名稱的轉換版本。

(繼承來源 ConfigurationElement)
GetTransformedTypeString(String)

傳回指定之型別名稱的轉換版本。

(繼承來源 ConfigurationElement)
GetType()

取得目前實例的 Type。

(繼承來源 Object)
Init()

將 ConfigurationElement 物件設定為其初始狀態。

(繼承來源 ConfigurationElement)
InitializeDefault()

用來初始化 ConfigurationElement 物件的預設值集。

(繼承來源 ConfigurationElement)
IsModified()

表示此組態元素自最後儲存或載入後是否被修改,且實作於衍生類別中。

(繼承來源 ConfigurationElement)
IsReadOnly()

會取得一個值,表示該物件是否 ConfigurationElement 為唯讀。

(繼承來源 ConfigurationElement)
ListErrors(IList)

將這個 ConfigurationElement 物件和所有子元素中的無效屬性錯誤新增至傳遞的清單。

(繼承來源 ConfigurationElement)
MemberwiseClone()

建立目前 Object的淺層複本。

(繼承來源 Object)
OnDeserializeUnrecognizedAttribute(String, String)

取得值,指出還原串行化期間是否遇到未知的屬性。

(繼承來源 ConfigurationElement)
OnDeserializeUnrecognizedElement(String, XmlReader)

會獲得一個值,表示在反序列化過程中是否遇到未知元素。

(繼承來源 ConfigurationElement)
OnRequiredPropertyNotFound(String)

找不到必要屬性時擲回例外狀況。

(繼承來源 ConfigurationElement)
PostDeserialize()

在還原串行化之後呼叫。

(繼承來源 ConfigurationElement)
PreSerialize(XmlWriter)

在串行化之前呼叫。

(繼承來源 ConfigurationElement)
Reset(ConfigurationElement)

重置物件的 ConfigurationElement 內部狀態,包括鎖與屬性集合。

(繼承來源 ConfigurationElement)
ResetModified()

在導出類別實作時,將方法的值IsModified()重置為 。false

(繼承來源 ConfigurationElement)
SerializeElement(XmlWriter, Boolean)

當在衍生類別中實作時,會將此組態元素的內容寫入設定檔。

(繼承來源 ConfigurationElement)
SerializeToXmlElement(XmlWriter, String)

在衍生類別中實作時,將此組態專案的外部標記寫入組態檔。

(繼承來源 ConfigurationElement)
SetPropertyValue(ConfigurationProperty, Object, Boolean)

將屬性設定為指定的值。

(繼承來源 ConfigurationElement)
SetReadOnly()

設定 IsReadOnly() 物件及所有子元素的 ConfigurationElement 屬性。

(繼承來源 ConfigurationElement)
ToString()

傳回表示目前 物件的字串。

(繼承來源 Object)
Unmerge(ConfigurationElement, ConfigurationElement, ConfigurationSaveMode)

修改物件 ConfigurationElement 以移除所有不應儲存的值。

(繼承來源 ConfigurationElement)

適用於

另請參閱