Разбор нескольких значений и отправка их в строке запроса - PullRequest
0 голосов
/ 15 июля 2009

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

12,34,34,54,54,5

Я хочу, чтобы он был проанализирован и затем отправлен в строку запроса или отправил все значение в строку запроса.

Как получить несколько выбранных флажков и вернуть массив элементов?

Ответы [ 2 ]

1 голос
/ 16 июля 2009

Попробуйте это:

<%@ Page Language="C#" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<script runat="server">

    protected void Page_Load(object sender, EventArgs e)
    {
        if (!IsPostBack)
        {
            System.Collections.Generic.List<int> Values = new System.Collections.Generic.List<int> { 1, 2, 3, 4, 5, 6, 7 };
            grdTest.DataSource = Values;
            grdTest.DataBind();
        }
    }

    protected void btnSubmit_Click(object sender, EventArgs e)
    {
        HtmlInputCheckBox chkTest = null;
        string SelectedValues = "";
        foreach (GridViewRow row in grdTest.Rows)
        {
            chkTest = (HtmlInputCheckBox) row.FindControl("chkTest");
            if (chkTest != null && chkTest.Checked)
            {
                SelectedValues += (SelectedValues == "" ? chkTest.Value : ", " + chkTest.Value);
            }
        }

        litValues.Text = SelectedValues;
    }
</script>

<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
    <title></title>
</head>
<body>
    <form id="form1" runat="server">
    <div>
            <asp:GridView ID="grdTest" runat="server">
                <Columns>
                    <asp:TemplateField>
                        <ItemTemplate>
                            <input id="chkTest" type="checkbox" name="chkTest" runat="server" 
                            value="<%# (int)Container.DataItem %>" />
                        </ItemTemplate>
                    </asp:TemplateField>
                </Columns>
            </asp:GridView>

            <asp:Button ID="btnSubmit" runat="server" onclick="btnSubmit_Click" Text="Submit"  />
            <br />
            <asp:Literal ID="litValues" runat="server"></asp:Literal>
    </div>
    </form>
</body>
</html>
0 голосов
/ 15 июля 2009
<form>
  <input type="checkbox" name="check[]" value ="1"/>
  <input type="checkbox" name="check[]" value ="2"/>
  <input type="checkbox" name="check[]" value ="3"/>
  <input type="checkbox" name="check[]" value ="4"/>
</form>

Когда вы пытаетесь получить параметр 'check', вы получаете массив всех выбранных значений.

EDIT: Эта ссылка должна помочь в получении значений в ASP.

ASP.NET: флажок и элемент управления checkboxlist

...