【发布时间】:2010-09-17 08:15:26
【问题描述】:
我正在使用通过函数填充的 GridView 编写一个简单的原型前端,而不是直接链接到 SqlServer 数据源。
所以我可以从我目前所在的网格/基础数据库中删除一行/记录
- 设置 AutoGenerateDeleteButton = true
- 在第一列显示唯一记录 ID
- 处理 RowDeleting 事件
- 通过获取grid.Rows[e.RowIndex].Cells[idIndex].Text获取id
- 将该号码传递给执行删除操作的函数
这似乎工作得很好,但我宁愿不向用户显示 id,因为它们对他们没有任何意义。
我尝试将 id 列的 Visible 属性设置为 false,但这会导致上面的第 4 步返回一个空字符串 - 因此没有删除任何记录。
那么如何将隐藏的 id 编号存储在每一行中?
或者我是不是完全走错了路?
跟进答案:
感谢您的两个答案,最终采用 Eric 的 DataKeyNames 方式。对于像我一样刚接触 ASP.NET 的其他人,我在哪里使用的步骤
-
在我设置网格 DataSource 和调用 DataBind() 的行之间,我添加了
grid.DataKeyNames = new string[] {"id"}; -
然后在处理 RowDeleting 的函数中,我使用
获取了我的 idgrid.DataKeys[e.RowIndex].Value
【问题讨论】:
标签: c# asp.net asp.net-2.0