傳統 Response.Write 除錯汙染輸出、佈署前須手動移除。ASP.NET 內建 Trace 類提供結構化、可控制的診斷輸出。
頁面指令加入 Trace="true":
<%@ Page Trace="true" %>
或在 web.config 整站啟用:
<trace enabled="true" pageOutput="true" requestLimit="40" localOnly="true" />
protected void Page_Load(object sender, EventArgs e)
{
Trace.Write("Page_Load", "開始載入頁面");
if (!IsPostBack)
Trace.Write("Page_Load", "首次載入,非 PostBack");
else
Trace.Write("Page_Load", "PostBack 觸發");
}
protected void ListBox1_SelectedIndexChanged(object sender, EventArgs e)
{
Trace.Write("ListBox", "選項變更觸發 PostBack");
}
Trace.Warn:紅字顯示,適合錯誤/警告級別。Trace.IsEnabled 判斷後再執行昂貴的診斷邏輯(如序列化大物件)。TraceContext 可在非頁面類別(HttpModule、Service)中透過 HttpContext.Current.Trace 存取。localOnly="true" 僅本機顯示。pageOutput,改用 trace.axd 專用頁面檢視(<trace enabled="true" pageOutput="false" />)。requestLimit 控制保留筆數)。Trace 讓除錯資訊「隨時可看、佈署不殘留」,是 ASP.NET 開發者必備技能。