В чем разница между <asp:Panel >
и <asp:PlaceHolder >
в ASP.NET?
Когда вы должны использовать один над другим?
asp.net
panel
placeholder
p.campbell
источник
источник
Заполнитель не отображает никаких тегов для себя, поэтому он отлично подходит для группировки контента без дополнительных внешних тегов HTML.
В Panel есть внешние HTML-теги, но есть некоторые интересные дополнительные свойства.
BackImageUrl: получает / устанавливает URL-адрес фонового изображения для панели.
HorizontalAlign: получает / устанавливает
горизонтальное выравнивание содержимого родителя
переносится ли содержимое панели
Существует хорошая статья на startvbnet здесь .
источник
Управление PlaceHolder
Используйте элемент управления PlaceHolder в качестве контейнера для хранения серверных элементов управления, которые динамически добавляются на веб-страницу. Элемент управления PlaceHolder не создает видимых результатов и используется только как контейнер для других элементов управления на веб-странице. Вы можете использовать
Control.Controls
коллекцию для добавления, вставки или удаления элемента управления в элементе управления PlaceHolder.Панель управления
Элемент управления Panel является контейнером для других элементов управления . Это особенно полезно, когда вы хотите создать элементы управления программно, скрыть / показать группу элементов управления или локализовать группу элементов управления.
Это
Direction
свойство полезно для локализации содержимого элемента управления Panel для отображения текста для языков, написанных справа налево, таких как арабский или иврит.Элемент управления Panel предоставляет несколько свойств, которые позволяют настраивать поведение и отображение его содержимого. Используйте
BackImageUr
свойство l для отображения пользовательского изображения для элемента управления Panel. ИспользуйтеScrollBars
свойство, чтобы указать полосы прокрутки для элемента управления.Небольшие различия при рендеринге HTML: элемент управления PlaceHolder не будет отображать ничего, но элемент управления Panel будет отображаться как
<div>
.Больше информации на форумах ASP.NET
источник
Странная ошибка * в Visual Studio 2010: если вы помещаете элементы управления в Placeholder, они не отображаются в режиме просмотра дизайна.
Это особенно верно для меток Hidenfields и Empty.
Я хотел бы использовать заполнители вместо панелей, но я ненавижу тот факт, что не могу поместить другие элементы управления в заполнители во время разработки в GUI.
источник
Как упоминалось в других ответах, Panel генерирует
<div>
в HTML, а PlaceHolder - нет. Но есть гораздо больше причин, по которым вы можете выбрать любой из них.Почему PlaceHolder?
Поскольку он не генерирует собственный тег, вы можете безопасно использовать его внутри другого элемента, который не может содержать
<div>
, например:Вы также можете использовать PlaceHolder для управления видимостью группы элементов управления, не помещая ее в
<div>
Почему панель
Он генерирует его самостоятельно
<div>
и может также использоваться, чтобы обернуть группу Контолов. Но у Panel гораздо больше свойств, которые могут быть полезны для форматирования ее содержимого:Но самая полезная особенность -
DefaultButton
собственность. Когда идентификатор соответствует кнопке на панели, он запускает публикацию формы с проверкой приenter
нажатии внутри TextBox. Теперь пользователь может отправить форму, не нажимая кнопку.Попробуйте приведенный выше фрагмент, нажав
enter
внутриTextBox1
источник