如何在删除行时获取网格视图行值

本文关键字:网格 视图 获取 删除行 | 更新日期: 2023-09-27 18:26:01

我想删除gridview的行。所以我为所有行添加了Commandfield Delete按钮。当我点击删除按钮时,它会触发gvBooklist_RowDeleting事件。在这个过程中,我给出了以下代码来获取当前的书名。

string tempBook = gvBooklist.Rows[e.RowIndex].Cells[0].ToString();
SqlCommand cmd = new SqlCommand("Select id from tBooks where bookName = '" + tempBook + "';");

但tempBook返回System.Web.UI.WebControls.DataControlFieldCell。如何获得实际的书名?

如何在删除行时获取网格视图行值

不使用ToString,而是使用其Text属性:

string tempBook = gvBooklist.Rows[e.RowIndex].Cells[0].Text;

附带说明:您还应该使用sql参数-始终:

using(var cmd = new SqlCommand("Select id from tBooks where bookName = @bookname"))
{
    cmd.Parameters.Add("@bookname", SqlDbType.VarChar).Value = tempBook;
    // ...
}