2011-12-01 32 views
1

我想看看我gridview的RowDataBound事件中的數據表,並檢查當前gridview列中的值是否存在於數據表中。我只是在RowDataBound事件中創建了我的數據表,但這意味着GridView的每一行都會對數據庫進行往返並創建一個數據表。我寧願只是先創建數據表,然後在我的RowDataBound事件中訪問數據表。我知道如何使用頁面上的標籤或隱藏字段來完成此操作,但是我怎樣才能將頁面上的數據表(或變量)存儲在GridView的RowDataBound事件中可訪問?我可以以某種方式將數據表作爲參數傳遞給RowDataBound函數嗎?好像我在這裏丟失了一些超級簡單的東西......如何在頁面上存儲數據表以從我的gridview訪問?

回答

2

有服務器端容器使用,其中Items容器可能是一個完美的選擇。你可以用一個屬性包裝你的數據表:

public DataTable TempData 
{ 
    get 
    { 
     if (this.Context.Items["tempdata"] != null) 
      return (DataTable)this.Items["tempdata"]; 
     return null; 
    } 
    set 
    { 
     this.Context.Items["tempdata"] = value; 
    } 
} 

那麼你訪問屬性:

this.TempData = yourdatatable; 

和檢索它的地方

DataTable storedTable = this.TempData; 
+0

在VB中很相似? (這是我使用的語法...) –

+0

是的,應該在VB中非常相似。 VB還支持屬性加上你是在相同的技術。 –

2

聲明你的數據表作爲一類級別的變量您頁面類。您可以從任何方法訪問它。

相關問題