Member 10506503 Ответов: 2

Я хочу удалить строку gridview при нажатии кнопки


этот код работает в другой системе visual studio но моя система не работает

protected void Button1_Click1(object sender, EventArgs e)
{
    foreach (GridViewRow gdv in GridView1.Rows)
    {
        CheckBox chk = (gdv.Cells[0].FindControl("chkbox1") as CheckBox);

        if (chk.Checked == true)
        {
            var Label = gdv.Cells[0].FindControl("lblid") as Label;
            SqlConnection cn = new SqlConnection(constr);
            SqlCommand cmd = new SqlCommand("Delete from tbl_login where Id=@Id", cn);
            cmd.Parameters.AddWithValue("@Id", int.Parse(Label.Text));
            cn.Open();
            int id = cmd.ExecuteNonQuery();
            cn.Close();

            Gridviewdetail();
        }

    }
}

этот код моя система не работает
флажок установлен всегда так "ложно", почему
checkBok Checked is not show 'true'
если еще одна идея о том, чтобы удалить строку на чекбоксе, Проверьте, так что, пожалуйста, помогите мне. только событие кнопки

Что я уже пробовал:

пожалуйста помогите мне сэр
почему флажок показывать всегда ложь установлен

Andy Lanng

неправда. он читает из первой ячейки в каждой строке. перечитайте код еще раз (я тоже ненавижу ints в коде и всегда испытываю коленную рефлекторную реакцию, что именно в этом и есть изъян).
Кстати: сколько "этого"вы можете вместить в предложение подряд (подсказка: рекорд - 15)

Andy Lanng

Я написал слово "это" на доске
Я парня назвал тем, что написал слово "тот" на доске:
"Я видел, что "тот", что тот написал".
Теперь это слово потеряло для меня всякий смысл

Bryian Tan

Я неправильно понял :(

Andy Lanng

Неправильно-это понятно. Непонимание-это проблема. Признание того и другого достойно восхищения. дальнейшее понимание возможно и достижимо. Купить Кокаин
Oh s*& t снова попал в лозунги :P

Andy Lanng

УР мой гуурд. Я ненавижу видеть статические Инты, но здесь все в порядке.
Проблема должна быть в том, когда вызывается функция.

Кнопка 1 щелчок не обновляет форму. он действует на нее. Я чувствую, что проблема в том, что buton1 не отправляет форму, поэтому (asp?) серверная сторона не видит изменений. Вы можете это подтвердить?

Andy Lanng

PS: вы можете "обнаружить" состояние формы одним нажатием кнопки, но с помощью (asp?) его легче отправить. Вот почему, будучи разработчиком ASP, я никогда не использую ASP.Net!

F-ES Sitecore

Проблема может заключаться в том, что вы привязываете gridview к его данным при каждой обратной передаче, а не только при загрузке страницы. Таким образом, в вашей Page_Load вы будете иметь

Управления gridview1.Источник данных = файл mydata;
Управления gridview1.Привязку();

Это означает, что когда вы нажимаете что-то, что делает обратную передачу, gridview обновляется из new, так что тот факт, что у вас были проверенные элементы, забывается\переопределяется. Поэтому привязывайте данные только тогда, когда страница не является обратной почтой, и она будет сохранять свое состояние при нажатии кнопок и т. д.

если (! страница.IsPostBack)
{
Управления gridview1.Источник данных = файл mydata;
Управления gridview1.Привязку();
}

ZurdoDev

Наверное, так оно и есть.

Andy Lanng

Ух. возможно, так оно и есть. Но тогда ОП увидит изменение формы. ОП не упоминал об этом, но именно здесь я терплю неудачу, и хаус находит ошибку (2 балла, если вы получите ссылку)

Member 10506503

спасибо сэр

Andy Lanng

PS: Я думаю, что ОП здесь больше нет

Maciej Los

Вы уверены, что этот флажок называется: "chkbox1"?

2 Ответов

Рейтинг:
2

Shambhoo kumar

Есть много ответов, доступных в google.
Вот некоторые ссылки

Ссылка 1


Ссылка 2


Ссылка 3

Лучше потратить некоторое время на понимание логики кода.


Member 10506503

хорошо сэр