我很累,很难过,所以想知道是否有人知道更好的方法:
我有4个复选框,用户可以选择无,一个或全部,或任何组合.然后在后面的代码中,我想检查所有CheckBoxes,如果它已被选中,则取其值(文本)并将其分配给1个字符串,并根据需要用逗号分隔.
这很好用但是分配所有.Text是否已经检查了项目.
if (CheckBox1.Checked || CheckBox2.Checked || CheckBox3.Checked || CheckBox4.Checked)
{
ClientString = CheckBox1.Text + ", " + CheckBox2.Text + ", " + CheckBox3.Text + ", " + CheckBox4.Text;
}
Run Code Online (Sandbox Code Playgroud)
我正盯着它,我知道解决方案非常简单,但我现在太累了,无法想清楚,想知道我做错了什么.代码是C#(ASP.NET).
如何轮询4个CheckBox并检查它是否已将其值分配给字符串,如果未选中则忽略它?
谢谢.
这样的事情怎么样?(未测试)
对于.NET 3.5
var checkboxList = new List<CheckBox>{CheckBox1,CheckBox2,CheckBox3,CheckBox4};
var messages = checkboxList
.Where(x => x.Checked)
.Select(x => x.Text)
.ToArray();
ClientString = string.Join(", ", messages);
Run Code Online (Sandbox Code Playgroud)
对于.NET 4.0
var checkboxList = new List<CheckBox>{CheckBox1,CheckBox2,CheckBox3,CheckBox4};
var messages = checkboxList
.Where(x => x.Checked)
.Select(x => x.Text);
ClientString = string.Join(", ", messages);
Run Code Online (Sandbox Code Playgroud)