CheckBox в поле шаблона ASP.NET GridView не сохраняет свое значение при отправке - PullRequest
3 голосов
/ 17 февраля 2011

Я пытаюсь использовать флажки внутри TemplateField GridView, чтобы выбрать несколько записей из этого GridView.Источник данных GridView - это список элементов, которые генерируются при загрузке страницы.

<asp:GridView ID="GridView" runat="server" AutoGenerateColumns="False" 
            AllowPaging="True" onpageindexchanging="TANsGridView_PageIndexChanging" 
            DataKeyNames="GUID">
            <Columns>
                <asp:TemplateField ShowHeader="False" HeaderText="Checker">
                    <ItemTemplate>
                        <asp:CheckBox ID="SelectCheckbox" runat="server" />
                    </ItemTemplate>
                </asp:TemplateField>

Проблема заключается в том, что при нажатии кнопки отправки все флажки возвращаются со свойством Checked как «false».

Для циклического перебора строк я использую:

foreach (GridViewRow row in TANsGridView.Rows)
        {
            CheckBox cb = (CheckBox)row.FindControl("SelectCheckbox");
        }

Что я должен использовать, чтобы иметь доступ к правильному значению?

Спасибо, Каталин

Ответы [ 2 ]

6 голосов
/ 17 февраля 2011

Вы ошибочно перепривязываете сетку при загрузке страницы каждый раз?Код привязки gridview должен быть заключен в оператор if, гарантирующий, что он выполняется только без обратной передачи.

Должен ли я поместить это здесь для проверки приема сейчас?:)

0 голосов
/ 17 февраля 2011

, если вы привязываете сетку к странице load.load сетку следующим образом.

if(!ispostback)
{
..........loading data to databind.

}
...