URL映射是ASP.NET 2.0中提供的新特性。URL映射技术帮助我们将一个特定URL映射为另一个URL。为了帮助理解,我们假设你在站点有一个叫Homepage.aspx的页面来访问主页,所有的用户也都用这个页面来访问你的主页。但由于某些原因,你要将主页改为OriginalHome.aspx。此时使用URL映射让你可以映射到新页面,而不必通知用户。
如果我们设置了URL映射,那么任何用户在URL栏输入Homepage.aspx时,调用的都是OriginalHome.aspx。
如何实现它呢?
可以在configuration部分实现:
<urlMappings enabled="[true|false]"> <add url="String" mappedUrl="String"/> </urlMappings>
如果你想使用URL映射,你必须将enabled属性设置为true。每个add元素都含有一个原URL和映射URL。如果我们为上述场景配置了URL映射,config文件中的元素显示如下:
<urlMappings enabled="true"> <add url="~/ Homepage.aspx" mappedUrl="~/ OriginalHome.aspx"/> </urlMappings>
一旦我们进行了修改或在工程的web.config文件中增加了如上的元素,任何用户试图访问Homepage.aspx时,由于URL映射,都将调用OriginalHome.aspx页面。有趣的是在URL栏中仍然仅显示Homepage.aspx。所以尽管想到内部调用/执行了OriginalHome.aspx,用户在URL栏仍见到Hopepage.aspx。
一些优点:
1.若你的客户标记了到一个页面的链接,但你又得删除该页并在换上其他页面,那么使用URL映射你可以解决这个商业问题而不用让客户知道这个页面变化。
2.若有一个大而复杂的URL,但不想把它给用户,那么你可以告知简单的URL,而自己将简单的URL映射到原先的URL。
3. 用这个方法可以方便处理菜单控件。最好的例子就是asp.net站点。
4.这里也牵涉到安全(用户无法在URL栏看到真实的页面名,这也是一种加密!)。
相关阅读 >>
[asp.net mvc 小牛之路]07 - URL routing
asp.net mvc 中获取当前URL、controller、action图文实例
mvc中获得controller、URL及action的asp.net方法详解
更多相关阅读请进入《URL》频道 >>
C#高级编程(第11版) C# 7 & .NET Core 2.0(.NET开发经典名著)
作者:[美]克里斯琴·内格尔(Christian Nagel)著。出版时间:2019年3月。