ASP.NET实现URL映射的方法

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。对,我们,www.jb51.net ,概念很简单!如果我们为上述场景配置了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栏看到真实的页面名,这也是一种加密!)。

  希望你喜欢这个新特性。

(0)

相关推荐

  • win2008 IIS7无后缀URL部署问题 MVC4 MVC URL映射

    前言和中间一段都是我找到问题的过程和思维方法.没兴趣的可以直接跳过看后面的问题和解决. 前言: 问题发生在站点完成后,部署到服务器上.以为这个是最轻松的工作.结果悲剧了.windows server 2008 R2 上用的是IIS7,无法识别没有后缀的URL重定向.网上狂找.很多人会说这个问题很常见啊网上的资料很多啊.其实不然.今天我要给出大家这个问题的最官方的解决办法. 扯淡结束.先说问题.我搜索了很多以后发现几个问题. 第一,提供的解决方案都是老的.很多网站就是互相复制.配图大多都没有了.

  • 回答PHPCHINA上的几个问题:URL映射

    PHPCHINA服务器搬迁后,我就基本上上不去了,只能用代理,郁闷.但用代理居然不能发帖,回帖.做为版主,深感遗憾,今天用代理上去看到了几个帖子,顺便在这里回答下. 1.大家来说说URL映射吧    一般url映射有两种方式,一种是通过mod_rewrite实现,这种网上教材很多我也不多说了.另外一种是在程序中模拟,比如类似zend Framework中的那种方式/index.php/controller/action/var1/value1/var2/value2/.这里方式其实最主要是通过一

  • ASP.NET 2.0 URL映射技巧

    在项目中经常要进行如下映射 将 http://onewww.net/a.aspx?name=llinzzi 映射到 http://onewww.net/llinzzi 首先要解决2个问题 第一是支持通配符的映射 URL映射是asp.net2.0新增的功能,不支持通配符 于是采用了NBEAR的 NBear.Web.Modules.UrlRewriteRules 进行通配符映射 <?xml version="1.0"?> <!--      注意: 除了手动编辑此文件以外

  • ASP.NET实现URL映射的方法

    URL映射是ASP.NET 2.0中提供的新特性.URL映射技术帮助我们将一个特定URL映射为另一个URL.为了帮助理解,我们假设你在站点有一个叫Homepage.aspx的页面来访问主页,所有的用户也都用这个页面来访问你的主页.但由于某些原因,你要将主页改为OriginalHome.aspx.此时使用URL映射让你可以映射到新页面,而不必通知用户. 如果我们设置了URL映射,那么任何用户在URL栏输入Homepage.aspx时,调用的都是OriginalHome.aspx. 深入概念: 让我

  • ASP.NET中URL Rewrite的具体实现方法

    之前觉得这个话题已经被谈滥了.URL Rewrite早已经被广大开发人员所接受,网上关于URL Rewrite的组件和文章也层出不穷,但是总是让我感觉意犹未尽,于是最终还是忍不住提笔写了这系列文章.这些文章不会谈论URL Rewrite的价值与意义,而只会谈论纯技术的内容.文章中也不会有详尽地实现分析,而是结合了我的经验,从应用角度来讲解这个话题.您已经知道的,您还不知道的,别处已经讲过的,或者还没有讲过的,希望这系列文章的"旧事重提"不会让您觉得沉闷,并且能让您了解ASP.NET中U

  • Asp.net MVC scheduler的实现方法详解

    Asp.net MVC scheduler的实现方法详解 本例使用了fullcalendar js : https://fullcalendar.io/ 1. view : @{ ViewBag.Title = "Index"; Layout = "~/Views/Shared/_Layout.cshtml"; } @section PageContent{ <style> .modal-backdrop { z-index: 9; } </sty

  • 三种asp.net页面跳转的方法

    第一种方法:response.redirect 这个跳转页面的方法跳转的速度不快,因为它要走2个来回(2次postback),但它可以跳转到任何页面,没有站点页面限制(即可以由雅虎跳到新浪),同时不能跳过登录保护.但速度慢是其最大缺陷!redirect跳转机制:首先是发送一个http请求到客户端,通知需要跳转到新页面,然后客户端在发送跳转请求到服务器端.需要注意的是跳转后内部空间保存的所有数据信息将会丢失,所以需要用到session. 代码如下  using System; using Syst

  • asp.net实现输出xml的方法

    本文实例讲述了asp.net实现输出xml的方法.分享给大家供大家参考,具体如下: #region 根据xml节点 查询xml节点的值并作修改 /// <summary> /// 根据xml节点 查询xml节点的值并作修改 /// </summary> /// <param name="fileName">要加载的xml文件</param> /// <param name="tagName">xml节点的名

  • ASP.net中网站访问量统计方法代码

    一.建立一个数据表IPStat用于存放用户信息 我在IPStat表中存放的用户信息只包括登录用户的IP(IP_Address),IP来源(IP_Src)和登录时间(IP_DateTime),些表的信息本人只保存一天的信息,如果要统计每个月的信息则要保存一个月.因为我不太懂对数据日志的操作,所以创建此表,所以说我笨吧,哈哈. 二.在Global.asax中获取用户信息 在Global.asax的Session_Start即新会话启用时获取有关的信息,同时在这里实现在线人数.访问总人数的增量统计,代

  • ASP.NET编程获取网站根目录方法小结

    本文实例讲述了ASP.NET编程获取网站根目录方法.分享给大家供大家参考,具体如下: 获取网站根目录的方法有几种如: Server.MapPath(Request.ServerVariables["PATH_INFO"]) Server.MapPath("/") Server.MapPath("")//当前代码文件所在的目录路劲 Server.MapPath(".") Server.MapPath("../"

  • ASP.NET中URL Routing和IIS上URL Rewriting的区别

    前言 前面有2篇帖子提到了关于URL Routing的特性,但是发现有很多人误会URL Routing就是URl Rewriting,其实2个虽然都提供相似的功能(提高友好的URL方便搜索引起收录),但是2者的原理和运行周期是完全不一样的,本篇文章我们就来分析一下具体有什么不同. 例子 在分析原理之前,我们先来做一个例子测试一下(IIS URL Rewrite模块需要IIS7的支持). 1.为Customer/1的URL建立对应的MVC程序 首先建立一个普通的MVC3程序,建立一个简单的Cust

  • ASP.NET连接数据库并获取数据方法总结

    本文实例讲述了ASP.NET连接数据库并获取数据方法.分享给大家供大家参考,具体如下: *连接对象的用法SqlConnection,SqlCommand,SqlDataAdapter *数据访问方式的写法 1.获取数据: //引用这两个命名空间 using System.Data.SqlClient; using System.Data; // 初始化连接对象 SqlConnection conn = new SqlConnection(); conn.ConnectionString = "U

随机推荐