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));
}
我正在从 GridView 中提取电子邮件,并假设相应地放置电子邮件,并用逗号分隔它们。我尝试使用 string.join 方法,但它根本没有出现在文本框中。我尝试不使用 string.join 但逗号将添加到每封电子邮件旁边。如何正确分隔电子邮件?
示例:[email protected] , [email protected] , [email protected]
最佳答案
而不是:
txtEmails.Text += (string.Join(",", email.Text));
试试这个:
txtEmails.Text += email.Text + ", ";
编辑:
因为它会在最后一封电子邮件中添加逗号,所以您可以执行以下操作来防止这种情况:
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;
}
}
希望这有帮助!
关于c# - 如何将选定复选框中的信息后面的逗号放入文本框?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11256808/