C# 获取复选框列表的选定值
因此,我在从复选框列表中获取值时遇到了这个问题——我能够从所选的列表中获取“文本”——但是使用这些值并不是那么容易 我想完成的是,对于选定的值,有一个数字,对于每个选定的值,我想用它的选定值乘以该值。这有什么意义吗 到目前为止,我的完整代码是:C# 获取复选框列表的选定值,c#,asp.net,linq,checkboxlist,C#,Asp.net,Linq,Checkboxlist,因此,我在从复选框列表中获取值时遇到了这个问题——我能够从所选的列表中获取“文本”——但是使用这些值并不是那么容易 我想完成的是,对于选定的值,有一个数字,对于每个选定的值,我想用它的选定值乘以该值。这有什么意义吗 到目前为止,我的完整代码是: { MailMessage mail = new MailMessage(); SmtpClient client = new SmtpClient(); client.Port = 587; client.Delive
{
MailMessage mail = new MailMessage();
SmtpClient client = new SmtpClient();
client.Port = 587;
client.DeliveryMethod = SmtpDeliveryMethod.Network;
client.UseDefaultCredentials = false;
client.Host = "smtp.gmail.com";
client.EnableSsl = true;
client.DeliveryFormat = SmtpDeliveryFormat.International;
client.Timeout = 10000;
client.Credentials = new System.Net.NetworkCredential("myemail@mail.com", "myPassword");
if (this.fiUpload1.HasFile)
{
this.fiUpload1.SaveAs(Server.MapPath("MyAttach/" + fiUpload1.FileName));
mail.Attachments.Add(new Attachment(Server.MapPath("MyAttach/" + fiUpload1.FileName)));
}
//Gets the selected text from the checkboxlist
string items = string.Empty;
foreach (ListItem i in checkedUsers.Items)
{
if (i.Selected == true)
{
items += i.Text + ",";
}
}
mail.To.Add(new MailAddress("mail@mail.com"));
mail.From = new MailAddress("mail@mail.com");
mail.Subject = txtSubject.Text;
mail.Body = "Ekstra informasjon fra kunde : " + txtBody.Text + " Kunden sine valgte produkter for bestilling : " + items;
client.Send(mail);
Label1.Text = "Bestilling sendt ! ";
}
因此,正如我们看到的mail.body,它已经成功地获得了所选的“text”或“items”来调用它。如上所述,我还希望它包含每个选定项的值,并将它们相加为一个总数。Imho此带有
Sum
和字符串的LINQ查询。Join
(用逗号连接)更具可读性:
var selectedItems = checkedUsers.Items.Cast<ListItem>()
.Where(li => li.Selected)
.Select(li => int.Parse(li.Text));
int sum = selectedItems.Sum();
string items = string.Join(",", selectedItems);
var selectedItems=checkedUsers.Items.Cast()
.Where(li=>li.Selected)
.Select(li=>int.Parse(li.Text));
int sum=selectedItems.sum();
string items=string.Join(“,”,selectedItems);
请向您提供ASPX代码