.NET Framework 4中,微软推出了Route机制。这种机制不仅在MVC中大量运用,在WebForm中也可以使用。

和Contex.RewritePath()一样,Route功能也是写在Global.asax文件中。

 1.设置默认页面

具体代码如下:

如代码所示,该路由会将网站默认转向SimpleURLRewriting页面。

实际访问后,效果如下:

2.配置参数

在实际项目中,我们访问网站时经常会使用参数,像这种情况应该怎么配置呢。

Global.asax:

页面后台代码:

它将获取URL中占位符为{parameter}的参数,因此通过此重写规则可访问如下页面:

但是对如下URL的请求,参数无效果

上图中,虽然没有在占位符为{parameter}的位置设置参数,参数项显示不为空。

这是因为在设置路由时,给{parameter}设置了默认参数。

3.设置正则表达式

除了想上面所示重写URL,设置默认页面及默认参数外,还能让占位符的参数满足一定的正则条件。

根据设置的正则条件要求,parameter必须是数字。

如不满足,则找不到改页面

4.PostBack数据回送

在设置默认页面时我们会发现,与使用Contex.RewritePath()后的效果不同,

使用路由功能后,页面的URL与地址栏中的URL保持一致。

因此在PostBack的时候,无需像Contex.RewritePath()一样对Form进行改写。

现在让我们看看实际效果:

重写规则代码:

    

5.链接处理

对URL进行重写后,可能会导致相对链接、图片和CSS的访问路径不正确的问题。

如在EN/SimpleURLRewriting.aspx中

    

访问页面时

因此当如果出现URL重写导致相对路径不正确时,为了确保这个图像和链接指向正确的网址,最好指定绝对路径地址。

转载于:https://www.cnblogs.com/nonkicat/p/3796590.html

【C#】 用Route进行URL重写相关推荐

  1. 配置伪静态(URL重写)

    本篇借鉴了很多文章,这里做个记录. 有时我们的导航栏出现xx.aspx?id=x&name=xx 等等这样,会显得不好看,我们可以利用伪静态来美化我们的导航栏,伪静态的形式可以自己定义,本质还 ...

  2. ASP.net实现无扩展名的URL重写。简单、方便、无需ISAPI

    URL重写已经有很多的方法,但是多数都有一个缺点,就是不支持无扩展名的网页.微软提供的方法需要在根目录里面建立jyk的文件夹,然后再建立一个default.aspx的文件,如果您有100名会员的话,这 ...

  3. 在 ASP.NET 中执行 URL 重写

    在 ASP.NET 中执行 URL 重写 发布日期: 8/23/2004 | 更新日期: 8/23/2004 Scott Mitchell 4GuysFromRolla.com 适用范围: Micro ...

  4. Web服务器 之 Apache 2.x 服务器中的URL重写的配置和应用

    作者:北南南北 来自:LinuxSir.Org 摘要: 本文是关于Apache 2.x 服务器中的URL别名规则的文档,它是通过rewrite模块来实现的.能过URL别名规则,我们能看到一个干净的UR ...

  5. Cento7+Nginx 之 URL重写

    Cento7+Nginx  之  URL重写 我们前一篇文章写了一个Cento7+Nginx 反向代理实现多域名跳转,今天主要介绍一下Cento7+Nginx  之  URL重写, Hostname: ...

  6. asp.net用url重写URLReWriter实现任意二级域名 (转)

    asp.net用url重写URLReWriter实现任意二级域名 Asp.net 用url重写(URLReWriter)实现任意二级域名 好久没有写技术文章,如果大家看不明白,就多看几篇,汗,或者,在 ...

  7. DTCMS插件的制作实例电子资源管理(四)URL重写

    总目录 插件目录结构(一) Admin后台页面编写(二) 前台模板页编写(三) URL重写(四) 本实例旨在以一个实际的项目中的例子来介绍如何在dtcms中制作插件,本系列文章非入门教程,部分逻辑实现 ...

  8. ASP.NET Url重写

    新建一个类,并实现IHttpModule接口 实现接口,在Init方法中处理请求,在请求方法中实现具体的Url重写操作 补充Url重写方法,通过 Request的Path对象获取请求文件路径,并根据请 ...

  9. apache配置反向代理以及实现url重写,防盗链

    反向代理配置: 在apache配置文件中加上这一句 反向代理google(已测试) 安装mod_ssl模块:yum -y install mod_ssl 实现url重写: 在apache配置文件中加上 ...

  10. java urlrewriter_java url重写技术(UrlReWriter)

    现在url重写技术用的越来越广泛了,很高兴今天和各位网友分享一下: 首先我们要从网上下一个UrlReWriter jar包 现在地址进不了,我这里有一个3.0版本的,文章底有下载地址,大家可以去下载 ...

最新文章

  1. android .9图片使用和一些技巧
  2. java中字符串分割器_java简易文本分割器实现代码
  3. ROS Gazebo(三):启动gazebo/URDF
  4. SpringBoot中使用POI实现自定义Excel布局式导出
  5. 《操作系统》实验报告——主存空间的分配与回收
  6. 每天一道LeetCode-----一个整数序列,每个元素出现两次,只有一个(两个)出现一次,找到这个(这两个)元素
  7. acm常见算法及例题
  8. [TJOI2011] 书架(线段数优化dp + 单调栈)
  9. ARM uboot中的.lds
  10. 动态规划问题中最长公共子序列---C语言实现
  11. 快手抢占短视频第一股,增长惊人,腾讯又是大赢家!
  12. 【Elasticsearch】Kibana优化过程(Optimize)过长或无法结束的解决方案
  13. mockjax MOCK.js的拦截ajax请求
  14. 4地形编辑插件_SketchUp高效建模插件
  15. 支持mysql8的客户端_mysql8 参考手册--mysql客户端帮助
  16. python控制灯开关_通过树莓派控制电灯开关
  17. 正则表达式之多种格式的电话号码匹配
  18. 《挪威的森林》--[日]村上春树
  19. HTML5实现首页动态视频背景
  20. 百度通用文字识别——识别验证码

热门文章

  1. 关于python的文章_关于python的一篇介绍文章
  2. 【CF-gym101889:J】Jumping frog(圆上跳----思维)
  3. 【LA4728】Square(求凸包(多边形)直径----旋转卡壳)
  4. java 骰子游戏_蓝桥杯-骰子游戏-java
  5. mysql8多表连接_MySQL 多个表的 连接
  6. es 时间字段聚合_es lucene搜索及聚合流程源码分析
  7. 2021-09-13Top-N 推荐系统,通常指的是个性化推荐系统,有别于热门推荐。
  8. 473.火柴拼正方形
  9. KNN的k该如何选择
  10. 解决办法!!!!UnsupportedClassVersionError Unsupported major.minor version 52.0