通用基类

using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Web; using System.Web.UI; using System.Web.UI.WebControls; using System.Web.UI.HtmlControls; using System.IO ; namespace BasicCompent {     public class BasePage:Page     {         private bool isLoadOk;         private bool isInitOk;         protected override void OnInit(EventArgs e)         {             if (!isInitOk)             {                 HtmlLink hl = new HtmlLink();                 hl.Href = "~/default.css";                 hl.Attributes.Add("rel", "stylesheet");                 hl.Attributes.Add("type", "text/css");                 Page.Header.Controls.Add(hl);                 HtmlMeta m = new HtmlMeta();                 m.Name = "description";                 m.Content = "这个是用来SEO";                 Page.Header.Controls.AddAt(0, m);                 isInitOk = true;                 base.OnInit(e);             }         }         protected override void OnLoad(EventArgs e)         {             if (!isLoadOk)             {                 Response.Filter = new PageResponseFilter(Response.Filter, Response.HeaderEncoding);                 isLoadOk = true;                 base.OnLoad(e);             }         }         protected override void Render(HtmlTextWriter writer)         {             if (writer is Html32TextWriter)             {                 writer = new FormFixerHtml32TextWriter(writer.InnerWriter);             }             else             {                 writer = new FormFixerHtmlTextWriter(writer.InnerWriter);             }             base.Render(writer);         }         internal class FormFixerHtml32TextWriter : Html32TextWriter         {             private string _url;//假的URL             internal FormFixerHtml32TextWriter(TextWriter writer):base(writer ,"")             {                 _url = HttpContext.Current.Request.RawUrl;             }             public override void  WriteAttribute(string name, string value, bool fEncode)            {                  if (_url != null && string.Compare(name, "action", true, System.Globalization.CultureInfo.CurrentCulture) == 0)                  {                      value = _url;                  }                  base.WriteAttribute(name, value, fEncode);             }             public new int Indent             {                 get { return 0; }                 set { base.Indent = 0; }             }         }         internal class FormFixerHtmlTextWriter : HtmlTextWriter         {             private string _url;//假的URL             internal FormFixerHtmlTextWriter(TextWriter writer):base(writer ,"")             {                 _url = HttpContext.Current.Request.RawUrl;             }             public override void WriteAttribute(string name, string value, bool fEncode)             {                 if (_url != null && string.Compare(name, "action", true, System.Globalization.CultureInfo.CurrentCulture) == 0)                 {                     value = _url;                 }                 base.WriteAttribute(name, value, fEncode);             }             public new int Indent             {                 get { return 0; }                 set { base.Indent = 0; }             }         }     } }

posted on 2008-07-08 11:19  老代哥哥  阅读(194)  评论(0编辑  收藏  举报

导航