填写文本框与多个电子邮件地址从下拉列表和逗号分隔在asp . net
本文关键字:分隔 net asp 下拉列表 文本 电子邮件地址 | 更新日期: 2023-09-27 18:03:21
我有一个文本框和一个下拉列表。下拉列表存储所有的电子邮件地址。我想填充多个电子邮件地址的文本框,每个地址由逗号分隔时,下拉列表文本被更改。我尝试这样做:
static string emailList;
protected void Page_Load(object sender, EventArgs e)
{
}
protected void DropDownList1_TextChanged(object sender, EventArgs e)
{
emailList = emailList + DropDownList1.Text + ",";
emails.Text = emailList;
}
,但它没有像预期的那样工作,因为逗号也包含在第一个电子邮件地址的前面。
我想你只希望在电子邮件地址之间使用逗号,所以
protected void DropDownList1_TextChanged(object sender, EventArgs e)
{
if(string.IsNullOrWhiteSpace(emailList))
emailList = DropDownList1.Text;
else
emailList += "," + DropDownList1.Text;
emails.Text = emailList;
}
我假设您省略了在Postback之间重新加载emailList的代码。
也可以这样做:
if(string.IsNullOrEmpty(emailList))
{
emailList = DropDownList1.Text;
}
else
{
var tempEailList = emailList.Split(',').ToList();
tempEailList.Add(DropDownList1.Text);
emailList = string.Join(",", tempEailList);
}
有一种更有效的方法。
List<string> emailAddresses = new List<string>(); ;
foreach(ListItem item in DropDownList1.Items)
{
emailAddresses.Add(item.Text);
}
string emailList = string.Join(",", emailAddresses.ToArray());