softwaremonster
softwaremonster

Reputation: 663

Adding <br/> dynamically between controls asp.net

I'm listing some controls at my web page dynamically, either I'm adding newline with Label's.

Label newLine = new Label();newLine.Text = "<br/>"; myPanel.Controls.Add(newLine);

How can I do it in a different way?

Upvotes: 37

Views: 50650

Answers (3)

My problem: Add a text to a panel indicating a date range. The text should be placed below an hyperlink.

The CSS solution:

A. Create the CSS class (place it on your page or into a CSS file)

.dateRange
{
    display:block;
}

B. Create controls and set the proper CSS class (.CssClass property)

//1. Create the link
LinkButton _btnTitle = new LinkButton();
_btnTitle.Text = Request.QueryString["name"];
_btnTitle.OnClientClick = "history.go(-1); return false;";
_btnTitle.ToolTip = Request.QueryString["name"];
_btnTitle.CssClass = "title";

//2. Add the link to the container
pnlFindTech.Controls.Add(_btnTitle);  

//3. Create the label (text)    
Label lblDate = new Label();
lblDate.Text = " [ From " + txtDateFrom.Text + " To " + txtDateTo.Text + " ] ";
lblDate.CssClass = "dateRange"; //Here is the trick

//4. Add the label to the container
pnlFindTech.Controls.Add(lblDate);

The final output looks like the this:

enter image description here

Sources:

Upvotes: 0

TheGeekYouNeed
TheGeekYouNeed

Reputation: 7539

I would suggest that you don't use
at all. Use CSS to display your controls. display:block on your elements will work just fine. Less messy!

Upvotes: 1

womp
womp

Reputation: 116977

myPanel.Controls.Add(new LiteralControl("<br />"));

Upvotes: 78

Related Questions