使用DetailsView,一些列是关键列。如何隐藏这些列?

时间:2011-01-07 15:00:38

标签: asp.net visual-studio

假设我有一个DetailsView,它绑定到SQLDataSource。基础表有两列,ID和值。

在显示模式下,我只想显示该值。当我将DetailsView切换到编辑模式时,我希望用户编辑该值,而不是查看或编辑ID。使ID列不可见解决了这个问题,除了ID值没有存储在DetailsView中,因此双向绑定不起作用,我无法更新相应的DB记录。

如何使用DetailsView进行双向数据绑定,但是隐藏用户的ID列?

2 个答案:

答案 0 :(得分:0)

使用templatefield在两种模式下显示标签,或者我认为该列为readonly属性。要么工作。

HTH。

答案 1 :(得分:0)

正确的方法是

  1. 将作为键值的数据项放入DetailsView的DataKeyNames属性中。
  2. 为可编辑的第一个数据项创建模板列。在模板列中,添加asp:HiddenField控件,并将hiddenfield的值设置为键项的值:

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