如何在Panel中添加换行符或html?
我正在尝试使用以下代码创建菜单。 但我无法弄清楚如何让每个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 } }
使用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);