首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> .NET 網頁程式設計 >> ASP.NET 基礎 >> 關於ASP.NET

ASP.NET 移除輸出 HTML 中的多餘空白與縮排(自訂 HtmlTextWriter)

     編輯:關於ASP.NET

問題現象

ASP.NET 預設輸出 HTML 包含大量縮排空白與 Tab,導致傳輸體積膨脹,頻寬浪費。例如巢狀表格產生的程式碼極其冗長。

預設輸出 HTML 含大量空白

解決方案:繼承 HtmlTextWriter 覆寫 Indent 屬性

public class FilterHtmlTextWriter : HtmlTextWriter
{
    public FilterHtmlTextWriter(TextWriter writer, string tabString) : base(writer, tabString) { }

    public new int Indent
    {
        get { return 0; } // 永遠回傳 0
        set { base.Indent = 0; } // 永遠設為 0
    }
}

套用至頁面

public partial class _Default : System.Web.UI.Page
{
    protected override void Render(HtmlTextWriter writer)
    {
        writer = new FilterHtmlTextWriter(writer.InnerWriter, "");
        base.Render(writer);
    }
}

若有共用基底頁面類別,只需在基底類別覆寫 Render 即可全站生效。

效果驗證

過濾後 HTML 緊湊

輸出 HTML 大幅瘦身,減少頻寬傳輸,提升頁面載入速度。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved