在我的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不是您要设置的属性。此属性与数据源一起使用,以使数据绑定控件知道应将哪个数据源的字段用作文本。有一个类似的价值领域。Texts.SelectBoxCaption
如果我正确理解了您的意图,则可以使用的正确属性是。
另外在foreach内部分配此对象也没有意义,因此我将其移出了循环:
foreach (ListItem item in dropdown1.Items)
{
if (item.Selected)
{
checkedList.Add(item.Text);
}
}
dropdown1.Texts.SelectBoxCaption = String.Join(",", checkedList);
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句