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栏看到真实的页面名,这也是一种加密!)。
希望你喜欢这个新特性。
相关推荐
-
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
随机推荐
- Erlang中的OTP简介
- javascript 手机号码正则表达式验证函数 原创
- Oracle存储过程基本语法介绍
- jQuery弹出遮罩层效果完整示例
- Vue的MVVM实现方法
- 修改TTL值的具体实现方法,防内网“窥视”
- PHP正则替换函数preg_replace和preg_replace_callback使用总结
- ORACLE随机数DBMS_RANDOM包
- 解决火狐浏览器下JS setTimeout函数不兼容失效不执行的方法
- JS实现动态生成表格并提交表格数据向后端
- .Net MVC实现长轮询
- php 实现301重定向跳转实例代码
- python re正则表达式模块(Regular Expression)
- Python 异常处理实例详解
- 使用jQuery UI的tooltip函数修饰title属性的气泡悬浮框
- 我认为JSP有问题(下)
- jquery实现鼠标滑过后动态图片提示效果实例
- mssql 两表合并sql语句
- jQuery源码解读之hasClass()方法分析
- java实现压缩字符串和java字符串过滤