C# 如何将选中复选框中的信息后的逗号放入文本框中?
我正在从网格视图中提取电子邮件,并假设相应地用逗号分隔电子邮件。我尝试使用string.join方法,但是它根本没有出现在文本框中。我尝试不使用string.join,但在每封电子邮件旁边都会添加逗号。如何正确地分隔电子邮件 例如:Helloworld@gmail.com, Helloeveryone@gmail.com, HelloBye@gmail.com而不是:C# 如何将选中复选框中的信息后的逗号放入文本框中?,c#,asp.net,C#,Asp.net,我正在从网格视图中提取电子邮件,并假设相应地用逗号分隔电子邮件。我尝试使用string.join方法,但是它根本没有出现在文本框中。我尝试不使用string.join,但在每封电子邮件旁边都会添加逗号。如何正确地分隔电子邮件 例如:Helloworld@gmail.com, Helloeveryone@gmail.com, HelloBye@gmail.com而不是: foreach (GridViewRow row in GridView1.Rows)
foreach (GridViewRow row in GridView1.Rows)
{
var chk = row.FindControl("myCheckBox") as CheckBox;
if (chk.Checked)
{
var email = row.FindControl("LabelEmail") as Label;
txtEmails.Text += (string.Join(",", email.Text));
}
试试这个:
txtEmails.Text += (string.Join(",", email.Text));
编辑:
因为它在最后一封电子邮件的结尾处添加了逗号,所以您可以这样做来防止:
txtEmails.Text += email.Text + ", ";
int计数器=0;
//计数器变量必须是全局变量
foreach(GridView1.Rows中的GridViewRow行)
{
var chk=row.FindControl(“myCheckBox”)作为复选框;
如果(已检查)
{
计数器++;
var email=row.FindControl(“LabelEmail”)作为标签;
如果(计数器而不是:
foreach (GridViewRow row in GridView1.Rows)
{
var chk = row.FindControl("myCheckBox") as CheckBox;
if (chk.Checked)
{
var email = row.FindControl("LabelEmail") as Label;
txtEmails.Text += (string.Join(",", email.Text));
}
试试这个:
txtEmails.Text += (string.Join(",", email.Text));
编辑:
因为它在最后一封电子邮件的结尾处添加了逗号,所以您可以这样做来防止:
txtEmails.Text += email.Text + ", ";
int计数器=0;
//计数器变量必须是全局变量
foreach(GridView1.Rows中的GridViewRow行)
{
var chk=row.FindControl(“myCheckBox”)作为复选框;
如果(已检查)
{
计数器++;
var email=row.FindControl(“LabelEmail”)作为标签;
如果(counterstring.Join与字符串数组一起工作,如果您向它传递一个简单的字符串,就像在您的案例中一样,您将看不到任何更改。我认为您希望在每个电子邮件地址之后追加,如果您为您的案例使用StringBuilder,效果会更好
int counter = 0;
// The counter variable must be global
foreach (GridViewRow row in GridView1.Rows)
{
var chk = row.FindControl("myCheckBox") as CheckBox;
if (chk.Checked)
{
counter++;
var email = row.FindControl("LabelEmail") as Label;
if (counter <= 1)
txtEmails.Text += email.Text;
else
txtEmails.Text += ", " + email.Text;
}
}
最后你可以做到:
StringBuilder sb = new StringBuilder();
foreach (GridViewRow row in GridView1.Rows)
{
var chk = row.FindControl("myCheckBox") as CheckBox;
if (chk.Checked)
{
var email = row.FindControl("LabelEmail") as Label;
sb.Append(email.Text);
sb.Append(",");
}
稍后您可以指定
string strEmails = sb.ToString().TrimEnd(','); // TrimEnd to remove the last comma
string.Join与字符串数组一起工作,如果您像在您的案例中那样向它传递一个简单的字符串,您将看不到任何更改。我认为您希望在每个电子邮件地址之后附加一个字符串,如果您在您的案例中使用StringBuilder会更好
int counter = 0;
// The counter variable must be global
foreach (GridViewRow row in GridView1.Rows)
{
var chk = row.FindControl("myCheckBox") as CheckBox;
if (chk.Checked)
{
counter++;
var email = row.FindControl("LabelEmail") as Label;
if (counter <= 1)
txtEmails.Text += email.Text;
else
txtEmails.Text += ", " + email.Text;
}
}
最后你可以做到:
StringBuilder sb = new StringBuilder();
foreach (GridViewRow row in GridView1.Rows)
{
var chk = row.FindControl("myCheckBox") as CheckBox;
if (chk.Checked)
{
var email = row.FindControl("LabelEmail") as Label;
sb.Append(email.Text);
sb.Append(",");
}
稍后您可以指定
string strEmails = sb.ToString().TrimEnd(','); // TrimEnd to remove the last comma
我试过这个方法,但逗号每次都出现在每封电子邮件之后,甚至是最后一封。我试过这个方法,但逗号每次都出现在每封电子邮件之后,甚至是最后一封。