Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/321.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 在包含多选列表框中的选择的代码隐藏中获取字符串?_C#_Asp.net_.net - Fatal编程技术网

C# 在包含多选列表框中的选择的代码隐藏中获取字符串?

C# 在包含多选列表框中的选择的代码隐藏中获取字符串?,c#,asp.net,.net,C#,Asp.net,.net,我想做的是从milti select列表框中获取所有选定项,并将它们放入逗号分隔的字符串中,这样我就可以将其存储在表中。我搜索并找到了代码,但由于某种原因,该限定符从未被发现为“true”。它会将每个选定项视为“false”。我的处理顺序不对吗 这是我的ASP部分(因为它是一个巨大的文件,所以被剪切,但这是重要的内容): 是否将列表框也进行回发数据绑定?检查属性: protected void Page_Load(Object sender, EventArgs e) { if(!IsP

我想做的是从milti select列表框中获取所有选定项,并将它们放入逗号分隔的字符串中,这样我就可以将其存储在表中。我搜索并找到了代码,但由于某种原因,该限定符从未被发现为“true”。它会将每个选定项视为“false”。我的处理顺序不对吗

这是我的ASP部分(因为它是一个巨大的文件,所以被剪切,但这是重要的内容):


是否将
列表框
也进行回发数据绑定?检查属性:

protected void Page_Load(Object sender, EventArgs e)
{
    if(!IsPostBack) DataBindListBox();
}

我认为这是因为您的列表位于updatepanel中,其回发是“有条件的”,而按钮位于updatepanel的“外部”

尝试将其“放入”更新面板中,如本教程所示:


或者,如同一教程中所述,将按钮指定为“触发器”。

您注释掉的“foreach”是否也会发生同样的情况?是的。它只是从来没有看到listitem。选择为“true”。我尝试了触发器。没有变化。当我逐步浏览代码时,我可以看到表单上突出显示的选定列表框项目,但当代码逐步浏览列表框中的每个项目时,仍然找不到列表框。对于其中任何一项,选择为“true”。它确实读取列表框中的所有项目,只是不认为选择了任何项目。
    protected void btnSubmit_OnClick(object sender, EventArgs e)
    {

        // Read the selected items from the listbox
        //string SQLCode = "";
        var selectedQuery = ddlSysDocChg.Items.Cast<ListItem>().Where(item => item.Selected);
        string SQLCode = String.Join(",", selectedQuery).TrimEnd();

        //foreach (ListItem listitem in ddlSysDocChg.Items)
        //    {
        //        if (listitem.Selected == true)
        //        {
        //            SQLCode = SQLCode + ", " + listitem;
        //        }
        //    }

    }
            try
            {
                string strSQL = "SELECT ComboValue, ComboText FROM dbo.tblComboBoxes WHERE ComboName = 'ddlSysDocChg' ORDER BY ComboText ASC;";

                SqlDataAdapter adapter = new SqlDataAdapter(strSQL, str);
                DataSet DailyRun = new DataSet();
                adapter.Fill(DailyRun);

                ddlSysDocChg.DataSource = DailyRun;
                ddlSysDocChg.DataTextField = "ComboText";
                ddlSysDocChg.DataValueField = "ComboValue";
                ddlSysDocChg.DataBind();

                foreach (ListItem item in ddlSysDocChg.Items)
                {
                    item.Attributes.Add("Title", item.Text);
                }

                // Insert a blank row into the DropDownLists so there is no default name
                ddlSysDocChg.Items.Insert(0, new ListItem("", ""));
            }
            catch (Exception ex)
            {
                // Handle the error
                Console.WriteLine("Making Call to " + ex + "");
            }
        }
    }
protected void Page_Load(Object sender, EventArgs e)
{
    if(!IsPostBack) DataBindListBox();
}