Depend of number of results I got like 3 results and I want to assign each result to label text and put to new Div each new line. How I do that?
Collection<PSObject> output = pipeline.Invoke();
is where I stored results.
Here a sample C# codes,
foreach(PSObject psObject in output)
{
Label ipLabel = new Label();
ipLabel.Text = psObject + "\r\n";
div1.Controls.Add(ipLabel);
}
Here a asp.net codes,
<div id="div1" runat="server"></div>
I got the right Label results but it all displayed in 1 div line instead of every div new line .
Ideally, markup manipulation should be done using data-binding within your .aspx
file rather than in your codebehind, but anyway:
foreach(PSObject psObject in output) {
HtmlGenericControl div = new HtmlGenericControl("div");
div.Controls.Add( new Label() { Text = psObject + "\r\n"; } );
div1.Controls.Add( div );
}
This is how I would do it in the aspx file:
<div id="div1">
<% foreach(PSObject psObject in output) { %>
<div>
<%: psObject %>
</div>
<% } //foreach %>
</div>
Note the use of <%: foo %>
which is equivalent to <%= Server.HtmlEncode( foo ) %>
.
The "Panel" control outputs a div, so maybe you'd like to wrap the Label there:
foreach(PSObject psObject in output)
{
Panel ipPanel = new Panel();
Label ipLabel = new Label();
ipLabel.Text = psObject;
ipPanel.Controls.Add(ipLabel);
div1.Controls.Add(ipPanel);
}
You could also put a "
" (newline for HTML, roughly) inside the label:
foreach(PSObject psObject in output)
{
Label ipLabel = new Label();
ipLabel.Text = psObject + "<br/>";
div1.Controls.Add(ipLabel);
}
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With