How to use URL mapping in ASP.NET 2.0 and VB.NET
This tutorial will show you how to use URL mapping technology in ASP.NET 2.0 and VB.NET.
The URL mapping feature uses configuration information stored in web.config to remap incoming requests to a different URL. The remapping occurs prior to any other processing for the inbound request. Although the sample below demonstrates remapping a page request, any arbitrary file type can have its request remapped to a different URL.
At first you need to build a sitemap file Web.sitemap. The code as following:
<?xml version="1.0" encoding="utf-8" ?> <siteMap xmlns="http://schemas.microsoft.com/AspNet/SiteMap-File-1.0"> <siteMapNode url="~/UrlMappingVB.aspx" title="Home Page" description="This is the home page" > <siteMapNode url="~/Category.aspx" title="Categories" description="Information Categories" > <siteMapNode title="News" description="News" url="~/News.aspx" /> <siteMapNode title="Games" description="Games" url="~/Games.aspx" /> <siteMapNode title="Health" description="Health" url="~/Health.aspx" /> </siteMapNode> </siteMapNode> </siteMap>
|
Secondly, please build a web.config file. The code as following:
<?xml version="1.0" ?> <configuration xmlns="http://schemas.microsoft.com/.NetConfiguration/v2.0"> <system.web> <urlMappings enabled="true"> <add url="~/News.aspx" mappedUrl="~/UrlMappingVB.aspx?category=news" /> <add url="~/Category.aspx" mappedUrl="~/UrlMappingVB.aspx?category=default" /> <add url="~/Games.aspx" mappedUrl="~/UrlMappingVB.aspx?category=games" /> <add url="~/Health.aspx" mappedUrl="~/UrlMappingVB.aspx?category=health" /> </urlMappings> </system.web> </configuration>
|
The front end SiteMapPathTreeViewNavigationVB.aspx page looks something like this: <table> <tr> <td><asp:SiteMapDataSource Runat=server ID="SiteMapDataSource1" /> <br /></td> </tr> <tr> <td> <asp:Label Runat=server Text="TreeView" id="Label3" ForeColor="#ff3366" /> <asp:TreeView ID="TreeView1" DataSourceID="SiteMapDataSource1" Runat=Server /> </td> </tr> <tr> <td> The current virtual path for the request is:<b> <% Response.Write(Request.Path)%></b>. <br /> The value of the category querystring variable is:<b> <% Response.Write(Server.HtmlEncode(Request.QueryString("category")))%></b>. <br /> However, the original path that was requested before it was remapped is:<b> <% Response.Write(Request.RawUrl)%></b>. </td> </tr> </table>
|