Я работаю с Gridview, имея edititemtemplate
. Мои операции редактирования и удаления выполняются в одном и том же виде сетки.
Когда я нажимаю на ссылку удаления, я каждый раз получаю нулевую ссылку, но не могу понять, почему. Разметка для ссылки удаления:
<asp:LinkButton ID="lnkdelete" runat="server" CommandName="delete"
Font-Overline="false" Text="Delete" ToolTip="Delete"
OnClientClick="return confirm('Do you want to delete this record?');">
</asp:LinkButton>
и мой код на стороне сервера выглядит следующим образом:
protected void GridView_arealist_RowDeleting(object sender, GridViewDeleteEventArgs e)
{
try
{
int areaId = Convert.ToInt32(((Label)(GridView_arealist.Rows[e.RowIndex].FindControl("lblareaIdEdit"))).Text);
SqlConnection con = new SqlConnection();
con.ConnectionString = ConfigurationManager.ConnectionStrings["MCC"].ConnectionString;
con.Open();
string deleteQuery = "delete from map where id=@id";
SqlCommand objCmd = new SqlCommand(deleteQuery, con);
objCmd.Parameters.AddWithValue("@id", areaId);
objCmd.ExecuteNonQuery();
objCmd.Dispose();
con.Close();
LoadAreaDetails();
}
catch (Exception ex)
{
throw;
}
}
Я получаю исключение нулевой ссылки в следующем сегменте кода:
int areaId = Convert.ToInt32(((Label)(GridView_arealist.Rows[e.RowIndex].FindControl("lblareaIdEdit"))).Text);
Также используя тот же сегмент кода в другой функции для извлечения идентификатора, он работает нормально.