2010-03-15 96 views
3

在asp.net中是否需要在每次回調期間重新構建整個頁面?例如,我的網頁分爲三個不同的區域,每個區域都有一個更新面板。假設我想更新第三個區域,是否必須打擾其他兩個區域的處理?在回調中重建整個頁面?

例如可以說第二區有一個網格視圖。三區回調中的更新面板更新其內容。我必須重新綁定第二區的網格嗎?

感謝,

AJ

回答

1

是的,這是ASp.NET是如何完成的。如果您使用updatePanel/AJAX部分更新,您可能只會構建部分頁面。但是,你的視圖狀態可能是一個問題。

你看到的基本上是ASP.NET模型的缺點之一。

1

默認情況下,UpdatePanels的「UpdateMode」設置爲「Always」,這意味着只要頁面上發生任何事情,它們就會更新。

嘗試爲所有三個UpdatePanel設置「UpdateMode」爲「有條件」,看看是否有幫助。 (FWIW這對於我來說是作爲編寫UpdatePanel定義的一部分的標準做法。如果在頁面的不同部分發生某些事情時需要更新UpdatePanel,則可以使用觸發器或使用.Update()在後面的代碼中更新它)

bgs264

編輯

我想我誤解你的問題本來;我上面的建議可能會改善頁面渲染時間,因爲部分回發會導致客戶端和服務器之間來回傳送的代碼變少。

但是,根據其他答案,所有控件都必須在每個頁面加載/回發時通過其生命週期(初始化,加載,渲染)。