UrlMapping クラス

定義

ユーザーに表示される URL を Web アプリケーションのページの 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 を使用して 2 つの 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 を Web アプリケーションに存在する URL にマップできます。 UrlMapping オブジェクトをUrlMappingCollectionに追加することは、構成ファイルの add セクションにurlMappings要素を含めるプログラムと同等です。

UrlMapping オブジェクトには、URL を識別する 2 つのプロパティが含まれています。 1 つのプロパティは、ユーザーに表示される URL を指定します。もう一方は Web アプリケーションの URL を指定します。 末尾の空白文字は、 Url プロパティと MappedUrl プロパティの両方で無視されます。

Note

UrlMapping プロパティは、値がAllowDefinitionセクション プロパティMachineToApplicationで定義されている制限に従って、構成ファイルの関連セクションに情報を書き込むことができます。 階層内で許可されていないレベルで構成ファイルに書き込もうとすると、パーサーによってエラー メッセージが生成されます。 ただし、このクラスを使用して、階層内の任意のレベルで構成情報を読み取ることができます。

コンストラクター

名前 説明
UrlMapping(String, String)

UrlMapping クラスの新しいインスタンスを初期化します。

プロパティ

名前 説明
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

Web アプリケーションの URL。

Properties

プロパティのコレクションを取得します。

(継承元 ConfigurationElement)
Url

ユーザーに表示される URL を取得します。

メソッド

名前 説明
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)

適用対象

こちらもご覧ください