UrlMapping(String, String) Constructor
Definition
Important
Some information relates to prerelease product that may be substantially modified before it’s released. Microsoft makes no warranties, express or implied, with respect to the information provided here.
Initializes a new instance of the UrlMapping class.
public:
UrlMapping(System::String ^ url, System::String ^ mappedUrl);
public UrlMapping (string url, string mappedUrl);
new System.Web.Configuration.UrlMapping : string * string -> System.Web.Configuration.UrlMapping
Public Sub New (url As String, mappedUrl As String)
Parameters
- url
- String
The URL to be displayed to the user.
- mappedUrl
- String
A URL that exists in your Web application.
Examples
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);
// <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>
Remarks
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.