首页 > 编程 > .NET > 正文

用好ASP.NET 2.0的URL映射

2024-07-10 12:56:02
字体:
来源:转载
供稿:网友
简介:

  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 2.0还没有面市,怎么利用这个新特性呢。这里有个变通方法。stev在他的blog里进行了简要的解释。

  你可以在http://weblogs.asp.net/ssmith/archive/2003/11/06/36191.aspx看到。他的解释非常简单,根据你的实际案例,你可以为它增加功能。

  现在你可以使用这个技巧,而等asp.net 2.0面市,你就可以利用新特性了。
发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表