使用Panel或PlaceHolder

150 asp.net panel placeholder

<asp:Panel ><asp:PlaceHolder >ASP.NET 之间有什么区别?

什么时候应该使用另一个?

Ste*_*ins 159

面板扩展为跨度(或div),其中包含内容.占位符只是一个占位符,它被你放入的任何内容所取代.

  • 面板成为DIV (18认同)
  • 嗯,不要让我开始使用BrowserCaps - 它也可以成为"Downlevel"浏览器中.Net 1.1中的单个单元格表. (8认同)
  • 嘿,我试图强迫我的脑海中渲染下层表格...感谢你带回来:-) (6认同)
  • 它也可以成为一个Span,取决于ASP.Net的版本和它渲染的浏览器. (4认同)

Ray*_*sen 62

占位符不会为自身呈现任何标记,因此在没有外部HTML标记开销的情况下对内容进行分组非常有用.

Panel确实有外部HTML标签,但确实有一些很酷的额外属性.

  • BackImageUrl:获取/设置面板的背景图像的URL

  • Horizo​​ntalAlign:获取/设置
    父级内容的水平对齐方式

  • 换行:获取/设置
    面板的内容是否换行

有一个在startvbnet一个很好的文章在这里.

  • asp:Panel的另一个很酷的功能是它有一个DefaultButton属性,告诉它如果用户按下键盘上的Enter键,要点击哪个按钮.如果您在同一页面上有多个面板和按钮需要使用输入按钮,则很方便. (15认同)

ecl*_*eel 36

PlaceHolder控件

使用PlaceHolder控件作为容器来存储动态添加到网页的服务器控件.PlaceHolder控件不会产生任何可见输出,仅用作网页上其他控件的容器.您可以使用该Control.Controls集合在PlaceHolder控件中添加,插入或删除控件.

面板控制

面板控制是其他控件的容器.当您希望以编程方式生成控件,隐藏/显示一组控件或本地化一组控件时,它尤其有用.

Direction属性对于本地化Panel控件的内容非常有用,可以显示从右到左书写的语言文本,例如阿拉伯语或希伯来语.

Panel控件提供了几个属性,允许您自定义其内容的行为和显示.使用BackImageUrl属性显示Panel控件的自定义图像.使用该ScrollBars属性指定控件的滚动条.

呈现HTML时的小差异:PlaceHolder控件将不呈现任何内容,但Panel控件将呈现为<div>.

ASP.NET论坛上的更多信息


Geo*_*kos 5

我在visual studio 2010中有一个奇怪的错误*,如果你把控件放在一个占位符中,它就不会在设计视图模式下呈现它们.

对于Hidenfields和Empty标签尤其如此.

我很想使用占位符而不是面板,但我讨厌在设计时不能在GUI中将其他控件放在占位符中的事实.

  • 人们还在使用设计视图模式吗?;) (5认同)
  • 哈哈 - 几年前我放弃了使用它,但MS仍然没有解决这个问题 (2认同)