我有一个包含3个项目的复选框列表.我想将复选框列表的所有选中值都放到一个字符串中.我尝试了以下代码,但它没有给出正确的结果.任何人都可以帮助我.
<asp:checkboxlist id="interestedIN" runat="server" repeatlayout="table"
cellspacing="3" cellpadding="3" Font-Size="12px">
<asp:ListItem id= "social" runat="server" text=" Sociology" Selected="false" />
<asp:ListItem id="zoo" runat="server" text=" Zoology " Selected="false" />
<asp:ListItem id="math" runat="server" text=" mathematics " Selected="false" />
</asp:checkboxlist>
Run Code Online (Sandbox Code Playgroud)
这是C#i实现的:
foreach (ListItem li in interestedIN.Items)
{
if (li.Selected)
{
interestIN = interestedIN.SelectedItem.Value + "," + interestIN;
}
}
Run Code Online (Sandbox Code Playgroud)
输出:如果用户选择社会学和动物学,我希望输出为"社会学,动物学"但我的上述代码给了我以下结果"社会学,社会学".
我创建了一个Custom CheckBoxList,其中包含一个属性.很高兴在控件中使用它,这样您就不必每次都编写代码.自定义控件允许您引用四个属性:
这是SelectedValuesAsString属性.
public string SelectedValuesString
{
get
{
return String.Join(",",this.Items.Cast<ListItem>().Where(i => i.Selected).Select(i=>i.Value));
}
}
Run Code Online (Sandbox Code Playgroud)
要查看Custom CheckBoxList Control上的帖子,请访问http://www.foliotek.com/devblog/extended-checkboxlist-control/
希望以下功能可以帮助您获得结果
for (int i = 0; i < interestedIN.Items.Count; i++)
{
if (interestedIN.Items[i].Selected)
{
values += interestedIN.Items[i].Value + ",";
}
}
values = values.TrimEnd(',');
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
19144 次 |
| 最近记录: |