2014-01-09 58 views
2

或者一種檢測它的方法是finsihed渲染?gridview完成後是否有一個事件被調用?

其實幾乎一模一樣這個問題

Gridview, is there an event, how would I determine that it has finished being rendered?

但他究竟是如何發現這一切已經擬定/調整他並不狀態。

編輯:(添加從下面我的評論指定什麼,我試圖做)

我想創建一個變通的靜態頭爲一個gridview的基本動態添加一個在另一個上面的GridView,實際上有它的數據。在嘗試了12種不同的建議/解決方案之後,我採取了這種方式,但沒有真正運氣。我所做的工作相當不錯,只是新的頭部在其中的數據完成重新調整大小之前呈現,我意識到我所嘗試的甚至可能不工作,因爲它可能需要另一次回發來重新渲染新的頭部在找到列標題的大小後,我想我可能會用更新面板來解決這個問題。

我知道這可能不是最完美的解決方案,但說實話還沒有發現,前來甚至接近或優雅甚至與目前的瀏覽器工作正常這個問題的任何解決方案。

+0

對這個問題的狀態海報:*我設法與被控件後調用頁面加載註冊功能來解決這個問題已經制定* – Abhitalks

+0

右他是怎麼檢測的控制已經制定? – RustyH

+0

*通過註冊一個函數與頁面加載*這意味着要麼通過使用'client.registerscriptblock'或通過使用純客戶端JavaScript/jQuery的。 – Abhitalks

回答

1

它在客戶端呈現,所以服務器不知道那裏發生了什麼。

您可能正在尋找DataBound事件。

否則,在客戶端,您可以決定當頁面已完成加載(jQuery的準備功能),然後回調到服務器。但我無法想象你能做的任何有用的事情。如果您向客戶端發送更多數據並再次渲染,則可能會出現無限循環。在一個ASP.Net網頁

+0

DataBound在所有繪製和重新調整大小之前被調用。所以基本爲時尚早。我試圖檢測一些自動調整大小的列的寬度。 – RustyH

+0

我會研究你的第二個建議,謝謝 – RustyH

0

一切在相同的呈現連續在生命週期的相同階段(參見http://msdn.microsoft.com/en-us/library/ms178472.aspx),所以在GridView將Gridview_PreRenderCompleteGridview_Unload之間呈現。

您頁PreRender會火,那麼控制PreRender,那麼頁面將調用GridView的Render方法(沒有事件此),那麼控制Unload會火,然後Unload頁面會火。

其他海報對這個問題指的是客戶端呈現,而我指的是在服務器端渲染過程。你究竟在追求什麼,爲什麼這麼做?

+0

嘗試檢測由數據源動態生成的列的寬度,並在表加載時重新調整大小。一旦完成加載,它們很好,並且是靜態的。 – RustyH

+0

尺寸在服務器端不可用,除非您使用CSS樣式或類似方法明確設置它們。這意味着如果你想弄清楚他們會是什麼樣的大小,你需要用Javascript來檢測客戶端。 –

+0

我想通過基本上動態地添加另一個GridView上的實際上有數據的GridView來爲GridView的靜態標題創建工作。在嘗試了12種不同的建議/解決方案之後,我採取了這種方式,但沒有真正運氣。我所做的工作相當不錯,只是新的頭部在其中的數據完成其大小調整之前呈現,我意識到我所嘗試的甚至可能不起作用,因爲它可能需要另一個回傳來重新找回新的頭部。列標題的大小,但認爲我可能會用更新面板來解決這個問題。 – RustyH

相關問題