繁体   English   中英

我如何在由字符串数组填充的文件s后面的代码中获取所选checbkoxlist项目的值?

[英]How can i get he value of selected checbkoxlist item at code behind file s that is filled by a string array?

如何获取由字符串数组填充的所选checbkoxlist项目的值? 我使用该代码,但只有在我手动填充了checkboxlist的情况下才起作用,但是如果我从数据库填充了它,然后将其转换为数组并设置为checkbox list,则它不起作用。

Aspx form:


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



            </asp:CheckBoxList>


        <asp:Button ID="Button1" runat="server" onclick="Button1_Click1" 
            Text="Button" />
        </div>


Cd file:


string s=string.Empty;
            List<String> YrStrList = new List<string>();
            // Loop through each item.
            foreach (ListItem item in this.chkUsers.Items)
            {
                if (item.Selected)
                {


                    // If the item is selected, add the value to the list.
                    YrStrList.Add(item.Value);
                }


            }
           // s = j.ToString();
            String YrStr = String.Join(";", YrStrList.ToArray());
            Response.Write(String.Concat("Selected Items: ", YrStr));

虽然很难确定出您的确切情况,但请看以下示例,看看是否有帮助。

标记:

<asp:CheckBoxList ID="chkUsers" runat="server"  ></asp:CheckBoxList>
<asp:Button ID="SumitButton" runat="server" Text="Submit" OnClick="SumitButton_Click" />

背后的代码:

    protected void Page_Load(object sender, EventArgs e)
    {
        if (!IsPostBack) {
            BindData();
        }
    }

    private void BindData()
    {
           string[] myArray = {"a","b","c"};

            foreach (string item in myArray)
            {
                chkUsers.Items.Add(item);
            }
            chkUsers.Items[1].Selected = true;
    }

    protected void SumitButton_Click(object sender, EventArgs e)
    {
        var x = chkUsers.SelectedItem;
        Response.Write(x);
    }

我认为您只需要询问复选框列表所选项目是什么?

 var x = chkUsers.SelectedItem;

但是,如果这样做无济于事,请更新您的方案,我会再看一看。

最后欢迎您。

备用BindData和Submitclick选项(这些可能更适合您的需求)

    private void BindData()
    {
           string[] myArray = {"a","b","c"};

            var dt = new DataTable();
            dt.Columns.Add("key");
            dt.Columns.Add("value");

            dt.Rows.Add(1,"a");
            dt.Rows.Add(2,"b");
            dt.Rows.Add(3,"c");

            chkUsers.DataTextField = "value";
            chkUsers.DataValueField = "value";
            chkUsers.DataSource = dt;
            chkUsers.DataBind();
    }

    protected void SumitButton_Click(object sender, EventArgs e)
    {
        foreach (ListItem item in chkUsers.Items)
        {
            if (item.Selected)
                Response.Write(item.Value);
        }
    }

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM