2011-01-07 24 views
0

假設我有一個DetailsView,它綁定到一個SQLDataSource。基礎表有兩列,一個ID和一個值。使用DetailsView,某些列是關鍵列。我如何隱藏這些列?

在顯示模式下,我只想顯示值。當我將DetailsView切換到編輯模式時,我希望用戶編輯該值,而不是查看或編輯該ID。使ID列不可見解決此問題,除非ID值未存儲在DetailsView中,因此雙向綁定不起作用,並且我無法更新相應的DB記錄。

如何使用DetailsView實現雙向數據綁定,但隱藏用戶的ID列?

回答

0

可以使用templatefield在兩種模式下顯示標籤,或者我認爲該列是隻讀屬性。要麼會工作。

HTH。

0

做到這一點,正確的方法是

  1. 將是進入DetailsView控件的DataKeyNames屬性鍵值的數據項。
  2. 爲可編輯的第一個數據項創建模板列。在模板列中添加ASP:HiddenField控制和hiddenfield的值設置爲關鍵項目的值:

    <asp:HiddenField runat="server" Value='<%# Eval("OwnerId") %>' />

+0

DataKeyNames中就足夠,所以你不需要HiddenField。 – gbs 2011-01-07 18:02:23