我有逗号分隔值,如英语,科学在lblsubject.text中,我正在使用下面的代码分隔。下面给出的代码在Label1和Label2中都显示了科学,因为它得到了overridden...but。我想在一个标签中显示英语,在另一个标签中显示科学。how to do it...pls help..!
string[] lines = Regex.Split(lblsubject.Text, ",");
foreach (string line in lines)
{
Label1.Text = line;
Label2.Text = line;
}
发布于 2012-06-14 13:11:56
您将在数组中获得两个元素,为什么要使用foreach循环。你可以做到
Label1.Text = lines[0];
Label2.Text = lines[1];
发布于 2012-06-14 13:19:27
如果您不知道标签的数量,您可能希望动态添加标签。(还要注意,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()
);
发布于 2012-06-14 13:14:52
使用Split()
函数
string[] lines = lblsubject.Text.Split(',');
Label1.Text = lines[0];
Label2.Text = lines[1];
https://stackoverflow.com/questions/11026982
复制相似问题