Из кода похоже, что значение Textbox4 перезаписывается перед удалением, Page_load будет вызываться для каждой обратной передачи, включая событие нажатия кнопки.Флаг bool firstTime = true
не работает для цели, которую вы пытаетесь достичь.Я считаю, что вы хотите загружать данные текстового поля только тогда, когда страница загружается в первый раз.поэтому вы должны изменить событие Page_load, чтобы использовать свойство IsPostBack вместо флага firstTime, как показано ниже.
protected void Page_Load(object sender, EventArgs e)
{
string str = "Data Source=(LocalDB)\\MSSQLLocalDB;AttachDbFilename=\"C:\\Users\\David\\Desktop\\WebApplication5\\WebApplication5\\App_Data\\Database2.mdf\";Integrated Security=True";
cn = new SqlConnection(str);
SqlCommand command = cn.CreateCommand();
cn.Open();
mycount();
if(!IsPostBack)
{
displayData();
}
}
Это гарантирует, что значение TextBox4, введенное вами в пользовательском интерфейсе, не будет перезаписано, когда вы нажмете кнопку «Удалить» и код удаления будет работать должным образом