2010-05-19 28 views
0

請問如果你把數據綁定方法在ListBox的PreRender事件到數據庫的調用來調用,列表框被呈現在屏幕例如上?這是一個有關列表框的特定示例,但PreRender中的代碼基本上只在屏幕上呈現控件時才被調用。如果是這樣,將代碼放入PreRender(如數據綁定)是否是一種好的做法?以下關於PreRender的聲明是正確的嗎?

+0

我覺得有一個在這裏一個很好的問題的地方,但它混淆了我。有人可以試圖整理一下嗎? – Beska 2010-05-19 15:56:32

+0

我試圖讓它聽起來更好。 – Xaisoft 2010-05-19 16:02:18

回答

0

編輯:你只是改變了你的問題,我想答案是肯定的還是...但下面依然適用:

listboxPreRender事件只會火如果控制設置爲Visible=true在頁面上。

因此,如果您在PreRender中執行了DataBind(和關聯的數據庫調用),它將不會調用數據庫(如果它設置爲Visible=False)。

您可以通過在PreRender堅持一個破發點,並改變在HTML控件的可視性很容易進行測試。

+0

好的,所以它與頁面上繪製的實際控件無關。該控件必須將可見屬性設置爲false。如果它是真的,但沒有在頁面上顯示,它仍然會調用PreRender。它是否正確? – Xaisoft 2010-05-20 18:09:58

+0

這是正確的,則'prerender'事件被稱爲爲每個頁面上的控制,即使他們不考慮不滾動的頁面。 'prerender'事件。請瀏覽.NET頁面生命週期http://msdn.microsoft.com/en-us/library/ms178472.aspx,您可以看到此事件引發的時間點。 如果你想,當它被滾動到視圖動態數據加載到控制,你會需要使用一些JavaScript和Ajax。 – RYFN 2010-05-21 08:14:00