在行删除时如何获取gridview行值?

Sam*_*604 0 c# asp.net gridview

我想删除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 + "';");
Run Code Online (Sandbox Code Playgroud)

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

Tim*_*ter 5

而不是ToString使用它的Text属性

string tempBook = gvBooklist.Rows[e.RowIndex].Cells[0].Text;
Run Code Online (Sandbox Code Playgroud)

旁注:您还应该使用sql-parameters-始终:

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