2011-08-12 15 views
0

我有一個GridView,它由使用它的每個頁面自定義。我遇到的問題是我無法明確設置DataKeys(因爲每個頁面都有不同的頁面 - 有些頁面甚至沒有)。爲自定義GridView設置數據密鑰

我知道我可以創建一個可公開訪問的數組,可以通過每個頁面進行更改並將其設置爲DataKeyNames,但對於沒有數據鍵的情況無效(不能使用空數組DataKeyNames),再加上,這不是一個可取的做事方式。

我的GridView使用SqlDataSource。我需要DataKeys的原因是DeleteCommand使用了Text DeleteCommandType(而不是SP--更喜歡這種方式),我需要該行的唯一標識符。

當我真的將PrimaryKey行設置爲一個可見的綁定字段時,我可以獲得該鍵名,但由於它是一個Guid,我不希望這樣。

我正在尋找一種方法將DataKeys設置爲PrimaryKey行(我的Guid),而無需說明它是哪個行的名稱。有沒有辦法做到這一點?如果沒有,解決這個問題的更好方法是什麼?

回答

1

或者,您可以將值存儲在Hidden field中,並在需要時使用隱藏字段。

+0

我嘗試過使用隱藏字段,但是,如果可見屬性設置爲false,則該值在運行時將變爲不可訪問。 – ImGreg

+0

爲什麼你將它設置爲可見?用戶根本看不到這一點。您可以將此列的寬度設置爲0px。其次,如果您將列設置爲可見,則不會呈現,您可以在回發中獲取該值。 –

+0

我試着將寬度設置爲0px,這似乎並沒有工作,可能是我的一端,但添加了一個cssclass來設置顯示=「無」的竅門。感謝您的幫助和指導!這應該做到這一點。 – ImGreg