Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/34.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Asp.net 在DetailsView中,有些列是关键列。如何隐藏这些列?_Asp.net_Visual Studio - Fatal编程技术网

Asp.net 在DetailsView中,有些列是关键列。如何隐藏这些列?

Asp.net 在DetailsView中,有些列是关键列。如何隐藏这些列?,asp.net,visual-studio,Asp.net,Visual Studio,假设我有一个DetailsView,它绑定到一个SQLDataSource。基础表有两列,一个ID和一个值 在显示模式下,我只想显示值。当我将DetailsView切换到编辑模式时,我希望用户编辑该值,而不查看或编辑ID。使ID列不可见可解决此问题,但ID值不存储在DetailsView中,因此双向绑定不起作用,并且我无法更新相应的DB记录 如何使用DetailsView进行双向数据绑定,但对用户隐藏ID列?使用templatefield以两种模式显示标签,或者我认为该列是只读属性。两者都可以

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

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


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

使用templatefield以两种模式显示标签,或者我认为该列是只读属性。两者都可以


HTH.

正确的方法是

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


  • 仅DataKeyName就足够了,因此不需要HiddenField。