我正在使用通过函数填充的 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 的函数中,我使用了我的 id
grid.DataKeys[e.RowIndex].Value