2011-10-06 47 views
0

我在一個Asp.net/VB.net網站上工作,來自C#/ WPF背景,對我而言,這些東西對我來說還是一個新的東西。VB.Net/ASP.Net Datatable not stored values

我宣佈一個DataTable,像這樣:

Public notificationList As DataTable 

然後,我已經使用Page_Load事件處理程序來填充它,並把它綁定到一個控制我的網頁,這一切工作正常

notificationList = dbGetNotificationsList(1) 
    rptNotify.DataSource = notificationList 
    rptNotify.DataBind() 

但是在另一種方法中,我需要能夠訪問這個DataTable,但是每當我這樣做時,它總是顯示爲無。我是否需要在會話等其他地方存儲此值?

謝謝

+1

您不應該將DataTable存儲在Session中,因爲每個用戶都會擁有自己的實例,如果用戶數量不斷增加,那麼該數據表的規模不會很大。此外,自上次回發以來數據可能已更改,但您仍保留舊數據。因此,爲什麼不在你需要的每一個回傳中加載DataTable? –

+0

這裏的數據包含一個用戶列表和一個值,用於指示是否應該檢查該用戶名旁邊的複選框。我想在複選框上使用2方式綁定將所有選中的值存儲在此DataTable中,然後基本上將DT轉換爲XML並將其傳遞給存儲過程以更新我的數據庫。 – Purplegoldfish

回答

1

你可以把數據表放在服務器端的一個Session或一個持久變量中,以便當它可以被再次訪問時該頁面發回。另外,請檢查您的視圖狀態是否打開或關閉,因爲這有時會導致問題。

1

是的,正好。 ASP.NET應用程序是無狀態的,這意味着在每次向服務器回傳之後,所有數據都將丟失。所以,無論你想要什麼,你都可以關心你的數據:會話,視圖狀態,緩存等。