Добавьте значение флажка javascript из gridview в массив и прочитайте каждый элемент из массива в c # - PullRequest
0 голосов
/ 18 февраля 2019

Я могу установить один или все флажки, установив флажок в заголовке таблицы.Если я сниму один флажок, флажок заголовка станет не отмеченным.Как только я проверил своих пользователей, я могу нажать «Отправить».Проблема, с которой я сталкиваюсь, заключается в том, что после нажатия кнопки «Отправить» я могу добавить идентификатор каждого выбранного пользователя в массив?Также как можно прочитать все данные из этого массива в c #?

Front End Code

      <div>
            <asp:Button ID="submit" runat="server" Text="Submit" />
            <br />
            <br />
            <asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="False">
                <Columns>
                    <asp:TemplateField>
                        <HeaderTemplate>
                            <asp:CheckBox ID="checkboxSelectAll" onclick="HeaderCheckBoxClick(this);" runat="server" />
                        </HeaderTemplate>
                        <ItemTemplate>
                            <asp:CheckBox ID="CheckBox1" onclick="ChildCheckBoxClick(this);" runat="server" />
                        </ItemTemplate>
                    </asp:TemplateField>
                    <asp:BoundField DataField="Name" HeaderText="Name" />
                    <asp:BoundField DataField="ID" HeaderText="ID" />

                </Columns>
            </asp:GridView>
            <script type="text/javascript">
                function HeaderCheckBoxClick(checkbox) {

                    var gridView = document.getElementById("GridView1");
                    for (i = 1; i < gridView.rows.length; i++) {
                        gridView.rows[i].cells[0].getElementsByTagName("INPUT")[0].checked = checkbox.checked;
                    }
                }
                function ChildCheckBoxClick(checkbox) {
                    var gridView = document.getElementById("GridView1");
                    var atleastOneCheckboxUnchecked = false;
                    for (i = 1; i < gridView.rows.length; i++) {
                        if (gridView.rows[i].cells[0].getElementsByTagName("INPUT")[0].checked == false) {
                            atleastOneCheckboxUnchecked = true;
                            break;
                        }
                    }
                    gridView.rows[0].cells[0].getElementsByTagName("INPUT")[0].checked = !atleastOneCheckboxUnchecked;
                }
            </script>
        </div>

C# Code behind
        protected void Page_Load(object sender, EventArgs e)
        {
            List<MyData> list = new List<MyData>();
            if (!IsPostBack)
            {
                list.Add(new MyData() { Name = "Tom", ID = 123 });
                list.Add(new MyData() { Name = "Ben", ID = 611 });
                list.Add(new MyData() { Name = "Sally", ID = 78 });

                GridView1.DataSource = list;
                GridView1.DataBind();
            }
        }
        public class MyData
        {
            public string Name { get; set; }
            public int ID { get; set; }
        }

        protected void submit_Click(object sender, EventArgs e)
        {
            //Not sure what to add here
        }`
    }

1 Ответ

0 голосов
/ 19 февраля 2019

вы можете добавить флажок в gridview - aspx: -

<div>
            <asp:CheckBoxList runat="server" ID="chk1">

            </asp:CheckBoxList>

            <asp:Button runat="server" ID="btn" OnClick="btn_Click"/>
        </div>

aspx.cs-

protected void btn_Click(object sender, EventArgs e)
            {
                List<string> items = new List<string>();
                for(int i=0; i < chk1.Items.Count; i++)
                {
                    if (chk1.Items[i].Selected == true)
                    {
                        //can do anything here
                       items.Add(chk1.Items[i].Text); 
                    }
                }
            }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...