Как я могу добавить разрыв строки или HTML внутри панели? - PullRequest
9 голосов
/ 22 января 2010

Я пытаюсь создать меню со следующим кодом. Но я не могу понять, как заставить каждую кнопку LinkButton отображаться на отдельных строках.

MenuPanel.Controls.Clear();
foreach (FormList f in forms)
{
  if (f.IsActive == "y")
  {
     FormUserControl fc = (FormUserControl)LoadControl(f.StartControl);
     LinkButton lb = new LinkButton();
     lb.Text = fc.Title;
     MenuPanel.Controls.Add(lb);
     // I want some sort of line break here
  }
}

Ответы [ 5 ]

17 голосов
/ 22 января 2010

Используйте класс LiteralControl, чтобы вставить разрыв строки ...

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

Или используйте CSS, чтобы сделать ваши ссылки блочными элементами ...

#menu a { display: block; }
2 голосов
/ 28 ноября 2011

К вашему сведению: если вы уже добавили панель управления в aspx (дизайн-представление) и если вы хотите использовать вышеуказанный принятый ответ в файле .cs (code-behind)., Тогда вы будет работать с ошибками типа. Так что в этом случае вы можете использовать этот способ. Пожалуйста, обратите внимание на маленький корпус"новый".

Panel1.Controls.Add(new LiteralControl("<br>"));
2 голосов
/ 23 января 2010

Я знаю, что этот ответ уже принят, но я хотел бы предложить другой вариант.Если вам нужен вертикальный список элементов, возможно, стоит использовать элемент ul или ol.Это означает, что вам не нужно использовать страшный тег br или любые хаки, чтобы получить то, что вам нужно.

1 голос
/ 22 января 2010

Вы можете сделать это:

HtmlGenericControl div = new HtmlGenericControl("div");
div.Text = "&nbsp;";
MenuPanel.Controls.Add(div);
0 голосов
/ 06 февраля 2012

в панели управления вы можете использовать элемент управления lable, который имеет значение в текстовом свойстве

Label lb1 = new Label();
lb1.Text = "<br>";

Panel1.Controls.Add(lb1);     
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...