using System; using System.Collections.Generic; using System.Linq; using System.Web; using System.Web.UI; namespace MyAction { /// <summary> /// 重写页面中form中的action(隐藏页面地址) /// </summary> public class MyPage : Page { protected override void Render(HtmlTextWriter writer) { writer = new FormFixer(writer); base.Render(writer); } } internal class FormFixer : HtmlTextWriter { private bool _isForm = false; public FormFixer(System.IO.TextWriter writer) : base(writer) { } public FormFixer(System.IO.TextWriter writer, string tagString) : base(writer, tagString) { } public override void WriteBeginTag(string tagName) { if (string.Compare(tagName, "form") == 0) this._isForm = true; base.WriteBeginTag(tagName); } public override void WriteAttribute(string name, string value, bool fEncode) { if (this._isForm && name.Equals("action")) value = HttpContext.Current.Request.RawUrl; base.WriteAttribute(name, value, fEncode); } } }