存儲視圖狀態(tài)之后,頁面樹中控件的狀態(tài)與頁面最后一次顯示在瀏覽器中的狀態(tài)相同。下一步是更新它們的狀態(tài)以加入客戶端的更改。處理回發(fā)數(shù)據(jù)階段使控件有機會更新其狀態(tài),從而準確反映客戶端相應的 HTML 元素的狀態(tài)。例如,服務器的 TextBox 控件對應的 HTML 元素是 input type=text>。在回發(fā)數(shù)據(jù)階段,TextBox 控件將檢索 input> 標記的當前值,并使用該值來刷新自己內(nèi)部的狀態(tài)。每個控件都要從回發(fā)的數(shù)據(jù)中提取值并更新自己的部分屬性。TextBox 控件將更新它的 Text 屬性,而 CheckBox 控件將刷新它的 Checked 屬性。服務器控件和 HTML 元素的對應關(guān)系可以通過二者的 ID 找到。
通過覆蓋 Render 方法可以改變各個控件的顯示機制。此方法接受 HTML 書寫器對象,并使用此對象來積累所有要為控件生成的 HTML 文本。Page 類的 Render 方法的默認實現(xiàn)包括對所有成員控件的遞歸調(diào)用。對于每個控件,頁面都將調(diào)用 Render 方法,并緩存 HTML 輸出。