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); }