zoukankan      html  css  js  c++  java
  • 也谈UpdatePanel与UrlRewrite一起work时出现Form Action属性的问题

    首先感谢老赵写了一篇文章,http://www.cnblogs.com/JeffreyZhao/archive/2006/12/27/604373.aspx#post

    其实出现这个问题,根本不是MS Ajax的失误,完全是我们没有用好URLRewrite这个东西的原因。

    老赵的解决方法是重写了一个Form类,把原来的Form的Action给清空了。

    能否正常工作我不知道,但是我认为“清空”,“利用默认属性”这样一类的做法是很危险的。~~~

    重写Form类的,引用也有点麻烦,我觉的重写一个Page,比较方便。我在www.365rss.cn中的做法如下:

    using System;
    using System.IO;
    using System.Web;
    using System.Web.UI;
    namespace okpower.Utility
    {
        
    /// <summary>
        
    /// URLRewrite 页面基类
        
    /// 作者:Kai.Ma http://kaima.cnblogs.com
        
    /// </summary>

        public class URLRewritePage : Page
        
    {
            
    public URLRewritePage()
            
    {
            }


            
    protected override void Render(HtmlTextWriter writer)
            
    {            
                writer 
    = new FormFixerHtmlTextWriter(writer.InnerWriter);
                
    base.Render(writer);
            }

        }


        
    internal class FormFixerHtmlTextWriter : System.Web.UI.HtmlTextWriter
        
    {
            
    private string _url;
            
    internal FormFixerHtmlTextWriter(TextWriter writer)
                : 
    base(writer)
            
    {
                _url 
    = HttpContext.Current.Request.RawUrl;
            }


            
    public override void WriteAttribute(string name, string value, bool encode)
            
    {
                
    // 如果当前输出的属性为form标记的action属性,则将其值替换为重写后的虚假URL
                if (_url != null && string.Compare(name, "action"true== 0)
                
    {
                    value 
    = _url;
                }


                
    base.WriteAttribute(name, value, encode);
            }

        }


    }
    以后继承这个URLRewritePage就可以了,甚至可以进web.config设置,一劳永逸。
    欢迎交流
  • 相关阅读:
    qemu的几篇文章---涉及qemu的注入
    网络以及linux相关--重点参考--包含相关linux服务的部署和使用
    ipv6的相关情况简略说明
    向日葵服务器相关ip,通过ipset过滤(oray.com oray.net),可能不完整,需要dnsmasq ipset持续监听相关域名
    linux shell重要参考网站
    web信息收集分类
    针对管理员的信息收集 以及 它的意义
    目标网站弱点功能探测
    网站文件目录探测
    目标后台探测以及物理路径探测
  • 原文地址:https://www.cnblogs.com/kaima/p/604758.html
Copyright © 2011-2022 走看看