如何在Panel中添加换行符或html?

我正在尝试使用以下代码创建菜单。 但我无法弄清楚如何让每个LinkBut​​ton出现在单独的行上。

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

使用LiteralControl类插入换行符…

 MenuPanel.Controls.Add(new LiteralControl("
"));

或者使用CSS来创建链接块级元素……

 #menu a { display: block; } 

我知道这个答案已被接受,但我想提出一个不同的选择。 如果你想要一个垂直的元素列表,那么使用ul或ol元素可能是值得的。 这意味着您不必使用可怕的标签或任何黑客来获得您需要的东西。

仅供参考:如果您已经在aspx(设计视图)中添加了面板控件 ,并且想要在.cs文件(代码隐藏)中使用上面接受的答案,那么您将遇到类型错误。 那么在这种情况下,你可以用这种方式。 请注意小套装 “新”。

 Panel1.Controls.Add(new LiteralControl("
"));

你可以这样做:

 HtmlGenericControl div = new HtmlGenericControl("div"); div.Text = " "; MenuPanel.Controls.Add(div); 

在面板控件中你可以使用具有“文本属性值”的标签控件

 Label lb1 = new Label(); lb1.Text = "
"; Panel1.Controls.Add(lb1);