Was this page helpful?
Your feedback about this content is important. Let us know what you think.
Additional feedback?
1500 characters remaining
UrlMapping Constructor
Collapse the table of content
Expand the table of content

UrlMapping Constructor

Initializes a new instance of the UrlMapping class.

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

public UrlMapping(
	string url,
	string mappedUrl
)

Parameters

url
Type: System.String

The URL to be displayed to the user.

mappedUrl
Type: System.String

A URL that exists in your Web application.

The UrlMapping constructor is intended primarily for internal use by ASP.NET. You do not need to derive from this class, and because it can be used to modify the Web.config file, you will probably never need to use it in code.

The following example uses the UrlMappingsSection of the Web.config file to map two URLs, and adds a mapping for an additional URL. 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);

        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)
        {
            urlMap = (UrlMapping)urlMapSection.UrlMappings[showVal - 1];
            realURL.Text = urlMap.MappedUrl;
        }
    }

</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>
<configuration xmlns="http://schemas.microsoft.com/.NetConfiguration/v2.0">
  <appSettings />
  <connectionStrings />

  <system.web>
    <compilation debug="true" />
    <customErrors mode="Off" />

    <authentication />
    <authorization>
      <deny users="?" />
    </authorization>
    <identity impersonate="true" />

    <urlMappings enabled="true">
      <add url="~/home.aspx" mappedUrl="~/default.aspx?show=1" />
      <add url="~/products.aspx" mappedUrl="~/default.aspx?show=2" />
    </urlMappings>
  </system.web>
</configuration>

.NET Framework

Supported in: 4.6, 4.5, 4, 3.5, 3.0, 2.0
Show:
© 2015 Microsoft