我在用Asp.Net開發Web程序時,經常會用到動態生成表格。由於是由C#代碼動態生成的,所以在遇到網頁刷新時,表格就會消失。如果要他們一直保持,就要在每次生成頁面時調用生成代碼,即將生成代碼寫成函數,並在Page_Load(object sender, EventArgs e)中調用。
但是,如果其他操作也要觸發生成函數,那麼這些表格就會生成兩次,產生錯誤。如果只在Page_Load(object sender, EventArgs e)中調用,新產生的數據就得不到顯示,那應該怎麼辦呢?
其實,Page對象含有一個事件是可以用的,那就是PreRender時間,實在頁面顯示的時候發生的。此時,所有的操作都已經完成,調用生成函數的話,即不會重複生成,新的數據也可以得到顯示。
我的做法是在Page_PreRender(object sender, EventArgs e)中調用生成函數。
protected void Page_PreRender(object sender, EventArgs e)
{
xmlbind();
}
{
xmlbind();
}