我试图通过电子邮件发送用户列表。它正常工作,但即使我的列表包含2个用户,收到电子邮件时也只显示1个用户。
这就是我填写列表的方式。这很好。
List<AccountCourse> ac = new AdminBL().GetAccountCourseByCourseId(crs.Id);
var ListOfUsers = new List<string>();
foreach(AccountCourse acrs in ac)
{
string username = new AdminBL().GetAccountByAccountId(acrs.AccountId);
ListOfUsers.Add(username);
}
这就是我试图用用户列表填充电子邮件正文的方式。这是不能正常工作的:
for(int i = 0; i < ListOfUsers.Count; i++)
msg.Body = "The users registered for this course are: " + ListOfUsers[i].ToString() + " ";
知道我怎么解决它吗?谢谢。
答案 0 :(得分:1)
请尝试使用此代码:
msg.Body = "The users registered for this course are: " + String.Join(", ", ListOfUsers.ToArray()) + " ";
String.Join
将使用您的用户名称并使用逗号和空格将它们附加在一起。为你的身体提供一根绳子;您的解决方案是每次循环替换正文,导致您的电子邮件正文只包含列表中的姓氏。
答案 1 :(得分:1)
实际上你没有连接你的msg.Body,这将起作用: -
msg.Body = "The users registered for this course are: ";
for(int i = 0; i < ListOfUsers.Count; i++)
msg.Body += ListOfUsers[i].ToString() + ", ";