.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重写导致相对路径不正确时,为了确保这个图像和链接指向正确的网址,最好指定绝对路径地址。

最新文章

  1. NSValue 类的使用
  2. OkHttp:Java 平台上的新一代 HTTP 客户端
  3. linux 输出重定向一份到本地文件,屏幕继续输出
  4. eclipse下tomcat添加部署Module,Web名称与项目名称不一致的解决方法
  5. 【golang】go语言,进行并发请求的wrap变参封装
  6. windows 程序的本体与操作系统之间的关系
  7. Android NDK 构建 以及一些错误
  8. Modifiers
  9. UITableview刷新某一个cell或section
  10. Linux 网络配置(固定IP)
  11. [Java] 垃圾回收机制 ( Garbage Collection ) 简介
  12. tabBarItem动画
  13. Android 编译错误
  14. Not Found The requested URL / was not found on this server.
  15. 期货大赛项目|四,MVC的数据验证
  16. 虚拟机VM下CentOS7部署WASND9+HTTP9
  17. Android下拉刷新-SwipeRefreshLayout
  18. Qt UI界面改了,但UI界面不更新
  19. SQL 将两个结构相同的表合并到成一个表
  20. 13.6 模拟事件【JavaScript高级程序设计第三版】

热门文章

  1. 回复《我要阻止做java开发的男朋友去创业型公司工作吗?》园友问题
  2. 多版本python共存
  3. python字符串函数
  4. python 模块之间的变量共享
  5. iframe框架中用js改变父级Url
  6. HTML——选择器
  7. SqlServer coalesce函数
  8. struts2 校验demo
  9. ACM/ICPC 之 差分约束系统两道(ZOJ2770-POJ1201)
  10. 5.nodejs权威指南--HTTP