如何在 asp.net 中拆分逗号分隔值后在不同的标签中显示逗号分隔的值

本文关键字:分隔 标签 显示 net asp 拆分 | 更新日期: 2023-09-27 18:37:02

我在lblsubject.text中有逗号分隔的值,例如英语,科学,我使用以下代码将其分隔。 下面给出的代码在标签 1 和标签 2 中都显示科学,因为它被覆盖了......但我想在一个标签中显示英语,在另一个标签中显示科学。怎么做...请帮忙..!

string[] lines = Regex.Split(lblsubject.Text, ",");
foreach (string line in lines)
 {
   Label1.Text = line;
   Label2.Text = line;          
 }

如何在 asp.net 中拆分逗号分隔值后在不同的标签中显示逗号分隔的值

你会在数组中得到两个元素,为什么要使用 foreach 循环。 你可以做

Label1.Text = lines[0];
Label2.Text = lines[1]; 

如果您不知道会有多少标签,则可能需要动态添加标签。 (另请注意,Regex.Split对此是矫枉过正的,你可以使用String.Split扩展方法。

string[] lines = lblsubject.Text.Split(',');
for (int i=0 ; i<lines.Length ; i++)
{
    var newLabel = new Label();
    newLabel.Text = lines[i];
    form1.Controls.Add(newLabel);
}

其中 form1 可以是要向其添加标签的任何容器控件。

另一种选择可能是将 HTML 直接添加到输出中。 像这样:

var html = string.Join("<br/>", 
    lblsubject.Text.Split(',').Select( 
        category => string.Format("<div>{0}</div>", category) 
    )
);
panel1.Controls.Add(new LiteralControl(html));

(同样,panel1 只是输出的容器。

编辑,每条评论

DrowDownList1.Items.AddRange(
    lblsubject.Text.Split(',')
        .Select(category => new ListItem(category))
        .ToArray()
);

使用Split()函数

string[] lines = lblsubject.Text.Split(',');
Label1.Text = lines[0];         
Label2.Text = lines[1];