Code
 1 using System;
 2 using System.Web;
 3 using System.Web.UI;
 4 using System.IO;
 5 using System.Text;
 6 using System.Text.RegularExpressions;
 7 using System.Configuration;
 8 
 9 namespace BLL
10 {
11     /// <summary> 
12     /// PageBase 的摘要说明。
13     /// </summary> 
14     public class PageBase : Page
15     {
16         private static object obj = new object();
17         //// <summary> 
18         /// 重写默认的HtmlTextWriter方法,修改form标记中的value属性,使其值为重写的URL而不是真实URL。
19         /// </summary> 
20         /// <param name="writer"></param> 
21         protected override void Render(HtmlTextWriter writer)
22         {
23             if (writer is System.Web.UI.Html32TextWriter)
24             {
25                 writer = new FormFixerHtml32TextWriter(writer.InnerWriter);
26             }
27             else
28             {
29                 writer = new FormFixerHtmlTextWriter(writer.InnerWriter);
30             }
31             base.Render(writer);
32         }
33     }
34     public class FormFixerHtml32TextWriter : System.Web.UI.Html32TextWriter
35     {
36         public FormFixerHtml32TextWriter(TextWriter writer) : base(writer)
37         {
38 
39         }
40         public override void WriteAttribute(string name, string value, bool encode)
41         {
42             // 如果当前输出的属性为form标记的action属性,则将其值替换为重写后的虚假URL 
43             if (string.Compare(name, "action", true) == 0)
44             {
45                 value = HttpContext.Current.Request.RawUrl;
46             }
47             base.WriteAttribute(name, value, encode);
48         }
49 
50     }
51     public class FormFixerHtmlTextWriter : System.Web.UI.HtmlTextWriter
52     {
53 
54         public FormFixerHtmlTextWriter(TextWriter writer) : base(writer)
55         {
56 
57         }
58         public override void WriteAttribute(string name, string value, bool encode)
59         {
60             if (string.Compare(name, "action", true) == 0)
61             {
62                 value = HttpContext.Current.Request.RawUrl;
63             }
64             base.WriteAttribute(name, value, encode);
65 
66         }
67 
68     }
69 
70 }

转载于:https://www.cnblogs.com/wingurumqi/archive/2008/11/13/1332882.html

urlrewrite 保持 posturl相关推荐

  1. 虚拟主机上用Asp.net实现Urlrewrite

    在网上看到,很多朋友在asp.net中做urlrewrite,用的是HttpHandle+Server.Transfer的方法.其实这种方法是错误的.第一,HttpHandle是实现不了urlrewr ...

  2. urlrewrite使用小结

    urlrewrite顾名思义,就是对URL进行重写,用户得到的全部都是经过处理后的URL地址,这样做我觉得好处有三: 一:提高安全性,可以有效的避免一些参数名.ID等完全暴露在用户面前,如果用户随便乱 ...

  3. 秋色园QBlog技术原理解析:UrlRewrite之无后缀URL原理(三)

    文章回顾: 1: 秋色园QBlog技术原理解析:开篇:整体认识(一) --介绍整体文件夹和文件的作用 2: 秋色园QBlog技术原理解析:认识整站处理流程(二) --介绍秋色园业务处理流程 本节,将从 ...

  4. asp.net UrlRewrite 技术的实现

    首先在以下地址: download.microsoft.com/download/0/4/6/0463611e-a3f9-490d-a08c-877a83b797cf/MSDNURLRewriting ...

  5. urlrewrite实现之HTTP 运行库支持

    看了这一部分,不过好象我还是写不出自己的UrlRewrite的模块程序,不过可以借用下<<在 ASP.NET 中执行 URL 重写>>的示例代码.对HttpHandler和Ht ...

  6. java怎么来用urlrewrite伪静态化和urlrewrite的配置

    1.首先去官网下载urlrewrite的包(urlrewrite-3.2.0.jar),加入到项目中: 2.在web.xml中加入以下配置: <filter> <filter-nam ...

  7. android中webview loadUrl(String url,Map header)方法和postUrl(String url,byte[] postData)方法同时使用问题;...

    首先说明 loadUrl(String url,Map header)是用于加载webview中添加请求头的方法 postUrl(String url,byte[] postData)是用于加载web ...

  8. jsp+urlrewrite实现html分页简单粗暴实现

    今天去检查一同事写的一分页实现,看了有点郁闷,都说了要换成html实现方便搜索引擎收录,他还是用的js,真是晕.还得帮他解决 好吧.言归正传,我在他的基础上粗暴的修改了下,达到了基本的效果,带数字分页 ...

  9. [转]URLRewrite隐藏.aspx后缀名的应用(转载+延伸)

    本文转自:http://www.cnblogs.com/showker/archive/2010/01/11/1644062.html 前言:为什么转载这篇文章?因为它有思考有实践.最近因为业务的需要 ...

最新文章

  1. 这款耳机一点不输千元级的AirPods
  2. PHP-Zend引擎剖析之词法分析(一)
  3. spring mvc web.xml 例子
  4. 理工科学生如何建立对于财务三大表的基本分析呢?
  5. 【机器视觉】 convert_vector_to_tuple算子
  6. c调用python第三方库_用 Python ctypes 来调用 C/C++ 编写的第三方库
  7. 【系统架构理论】一篇文章精通:Spring Cloud Netflix Eureka
  8. springmvc resources 配置
  9. Emlog博客MetBlogm主题-博客开源主题源码
  10. java 防止文件重名的方法_使用java避免文本文件中的重复输出?
  11. win10 安装oracle11g R2的64位版本
  12. 彻底解决VS中找不到 Windows SDK 版本 8.1的错误
  13. antd的Tree控件实现点击展开功能
  14. 统计字符串、九宫格、编码问题
  15. Turbo C 2.0下载地址和安装教程(图解)
  16. 《公路测设技术》课程网课最新作业测验考试
  17. 道德经和译文_道德经 - 道德经全文及译文 - 道德经全文 - 老子道德经
  18. Plant Ecology Journal Club, 2018
  19. [转]机器视觉代码大全
  20. 阿里云 Teambition 网盘亲测体验,秀翻全网!

热门文章

  1. 列表子集Python解法
  2. php中rowcount 意思,PHP PDOStatement::rowCount讲解
  3. linux ls in*,35 ls Command Examples in Linux (The Complete Guide)
  4. abb软启动器pstx手册_关于 ABB工业机器人碰撞检测功能的介绍
  5. php基础小结,PHP基础学习小结
  6. oracle行列转换关联union的方式_几行代码轻松玩转 Excel 行列转换
  7. python函数的传递方式有哪些_Python全栈工程师(函数的传参)
  8. 多设备同步表数据_利用Excel数据透视表解决两份报表数据不同步问题
  9. win32 c++源码大全_网站源码,服务器,域名三者是什么关系?
  10. 为什么自己设计的嵌入式系统不如工业级产品稳定?