使用不可见列的Gridview行编辑问题

时间:2014-03-25 07:20:20

标签: asp.net sql gridview

我正在使用VB中的Visual Studio 2010为学校项目创建一个网站,我对此的了解不是最好的。我在编辑gridview的一行时遇到了问题。我有一个存储用户处方信息的表格,如:

  • ID
  • 用户名
  • 药物
  • 剂量
  • 一天
  • 每周
  • 次(可选)

通过将列的visible属性设置为false(用户不需要在每一行上查看行ID或用户名),我将网格视图连接起来,使得几列不可见。

然而,当我尝试编辑一行时,我点击“更新”时出现错误

  由于表定义,

不可见用户名列不能包含空值。

我假设因为数据已经存储,所以不存在任何空值,并且它只是不可见。但是,情况似乎并非如此。

如果我使用户名的列可见,一切正常。

所以我的问题是,是否可以编辑具有不可见列的行?或者,我是否必须使该列可见并使文本框成为只读,以便用户能够成功编辑行?

我解决了这个问题。它为update命令生成的代码是:

UpdateCommand="UPDATE [Prescriptions] SET [UserName] = @UserName, [Prescriptions] = @Prescriptions, [Dosage] = @Dosage, [TimesDaily] = @TimesDaily, [TimesWeekly] = @TimesWeekly WHERE [ID] = @ID">

删除[UserName] = @UserName我现在可以使用不可见的用户名列编辑一行。

1 个答案:

答案 0 :(得分:0)

@d_wiegand:您可以使用firebug来调试页面。检查隐藏字段是否包含该工具的任何值。我很确定你没有在隐藏的框中获取值。这就是问题