是否有可能在asp.net中的下拉复选框文本区域中显示选定的项目?
本文关键字:区域 显示 项目 文本 有可能 asp net 是否 复选框 | 更新日期: 2023-09-27 18:07:12
在我的web应用程序中,我有dropdowncheckboxes控件,无论我选择了什么项目,我都需要在下拉文本字段中显示选定的项目,并用逗号分隔。
图片描述此处
我尝试了这个代码,但我没有得到结果:
。aspx:使用"DropDownCheckBoxes"控件
<%@ Register Namespace="Saplin.Controls" Assembly="DropDownCheckBoxes" TagPrefix="asp"%>
<asp:DropDownCheckBoxes ID="dropdown1" runat="server"
UseSelectAllNode="true" UseButtons="true"
OnSelectedIndexChanged="dropdown1_SelectedIndexChanged"
AutoPostBack="true" CssClass="drpdwnstyle"><Style DropDownBoxBoxWidth="200"/>
</asp:DropDownCheckBoxes>
cs
protected void dropdown1_SelectedIndexChanged(object sender, EventArgs e)
{
List<String> checkedList = new List<string>();
foreach (ListItem item in dropdown1.Items)
{
if (item.Selected)
{
checkedList.Add(item.Text);
}
dropdown1.DataTextField = String.Join(",", checkedList);
}
}
我试了这么多,但我没有得到任何东西。有人能告诉我怎么做吗?
主要问题是DataTextField不是您想要设置的属性。此属性与数据源一起使用,以让数据绑定控件知道应该将哪个数据源的字段用作文本。value也有类似的字段。正确的属性应该是Texts.SelectBoxCaption
,如果我没理解错的话。
在foreach中赋值this也没有意义,所以我把它移出了循环:
foreach (ListItem item in dropdown1.Items)
{
if (item.Selected)
{
checkedList.Add(item.Text);
}
}
dropdown1.Texts.SelectBoxCaption = String.Join(",", checkedList);
小改动,下一行:
dropdown1.Texts.SelectBoxCaption = String.Join(",", checkedList);
将被替换为:
dropdown1.Texts.SelectBoxCaption = String.Join(",", checkedList.ToArray());