Пройдите все строки управления списком данных по нажатию кнопки - PullRequest
0 голосов
/ 17 июня 2011

Мне нужно проверять каждую строку списка данных по нажатию кнопки, чтобы проверить, установлен флажок внутри каждой строки или нет. Я поместил свои кнопки в шаблон FooterTemplate DataList, но пока не смог найти способ. Это мой метод ItemCommand;

protected void DataList1_ItemCommand(object sender, DataListCommandEventArgs e) {

    if (e.Item.ItemType == ListItemType.Footer) {

        if (e.CommandName == "AddContinue") {


        } else if (e.CommandName == "SkipContinue") {


        }

    }

}

вот мой нижний колонтитул;

<FooterTemplate>

    <div class="top-margin-25">

        <div class="left-floathy">
            <asp:Button runat="server" ID="btnPreviousStep"  Text="<<< Previous Page" 
                class="blueButtonSmall boxShadow" onclick="btnPreviousStep_Click" />
        </div>

        <div class="right-floathy">
            <asp:Button runat="server" ID="btnAddContinue" Text="Add & Contuniue >>>" 
                class="blueButtonSmall boxShadow" CommandName="AddContinue" /><br />
        </div>

        <div class="clarFix"></div>

        <div class="right-floathy">
            <asp:Button runat="server" ID="btnSkipContinue" Text="Skip & Continue >>>" 
                class="blueButtonSmall boxShadow" CommandName="SkipContinue" />
        </div>

        <div class="clarFix"></div>

    </div>

</FooterTemplate>

1 Ответ

1 голос
/ 17 июня 2011

Хорошо, очевидно, я был немного небрежен, потому что не видел DataList.Items вещь. Ответ сидит здесь;

http://blog.ysatech.com/post/2011/06/03/ASPNET-Get-selected-checkbox-value-in-DataList.aspx

EDIT

Для тех, у кого такая же проблема, вот код;

    protected void DataList1_ItemCommand(object sender, DataListCommandEventArgs e) {

        if (e.Item.ItemType == ListItemType.Footer) {

            if (e.CommandName == "AddContinue") {

                foreach (DataListItem item in DataList1.Items) {

                    CheckBox extraCheck
                        = item.FindControl("extraCheck") as CheckBox;

                    if (extraCheck != null) {

                        if (extraCheck.Checked) {
                            Response.Write(item.ItemIndex);
                        }
                    }

                }

            } else if (e.CommandName == "SkipContinue") {


            }

        }

    }
...