C#,如何在foreach循环中生成新的html Div?

取决于我得到的结果数量为3个结果,我想将每个结果分配给标签文本并将每个新行放入新的Div。 我是怎么做到的?

Collection output = pipeline.Invoke(); 是我存储结果的地方。

这里有一个C#代码示例,

 foreach(PSObject psObject in output) { Label ipLabel = new Label(); ipLabel.Text = psObject + "\r\n"; div1.Controls.Add(ipLabel); } 

这是一个asp.net代码,

 

我得到了正确的标签结果,但它全部显示在1 div行而不是每个div新行。

理想情况下,标记操作应该使用.aspx文件中的数据绑定而不是代码隐藏来完成,但无论如何:

 foreach(PSObject psObject in output) { HtmlGenericControl div = new HtmlGenericControl("div"); div.Controls.Add( new Label() { Text = psObject + "\r\n"; } ); div1.Controls.Add( div ); } 

这是我在aspx文件中的方法:

 
<% foreach(PSObject psObject in output) { %>
<%: psObject %>
<% } //foreach %>

注意使用<%: foo %> ,它相当于<%= Server.HtmlEncode( foo ) %>

“Panel”控件输出一个div,所以也许你想将Label包装在那里:

 foreach(PSObject psObject in output) { Panel ipPanel = new Panel(); Label ipLabel = new Label(); ipLabel.Text = psObject; ipPanel.Controls.Add(ipLabel); div1.Controls.Add(ipPanel); } 

你也可以把“
标签内的“(粗略的HTML格式):

 foreach(PSObject psObject in output) { Label ipLabel = new Label(); ipLabel.Text = psObject + "
"; div1.Controls.Add(ipLabel); }