При написании настраиваемого элемента управления он всегда отображается как элемент HTML span. Как я могу изменить его, например, на div?Как изменить поведение рендеринга моего настраиваемого элемента управления из диапазона
ответ
Выведите свой контроль от WebControl следующим образом:
public class MyCustomControl : WebControl {
public MyCustomControl() : base(HtmlTextWriterTag.Div) {}
}
То есть, использовать конструктор базового класса, который принимает метку для использования.
Обычно у меня есть собственный базовый класс, на который наследуются все мои составные элементы управления. Одним из свойств, которые я добавляю к этому, является ContainerElement. Публично разоблаченный разработчик может выбрать, какой из внешних элементов они хотят. Внутри он устанавливает свойство TagKey, которое управляет этим рендерингом на базовом элементе управления. Все следующее к вашему классу control/base.
Вам просто нужно установить HTMLContainerElement, который будет иметь интеллектуальную помощь всех элементов в перечислении HtmlTextWriterTag.
Если вы вышли из CompositeControl, конструктор не принимает тип тега. Вы можете переопределить TagKey (я его не пробовал), но более гибкая опция - переопределить метод RenderBeginTag и заставить его делать то, что вы хотите. Базовый класс создает элемент открытия «span», но вам не нужно вызывать метод базового класса. Вам не нужно ничего называть, если вы не хотите ничего визуализированного (в этом случае также переопределите RenderEndTag и не называть ничего там). Например,
public override void RenderBeginTag(HtmlTextWriter writer)
{
writer.AddAttribute(HtmlTextWriterAttribute.Class, "reportViewer");
writer.AddAttribute(HtmlTextWriterAttribute.Id, "QueryViewerWrapper");
writer.RenderBeginTag(HtmlTextWriterTag.Div);
}
Этот код производит
<div class="reportViewer" id="QueryViewerWrapper">
который именно то, что мне нужно для этого конкретного составного элемента управления шахты, DIV с классом, чтобы обернуть контроль ReportViewer. Я включаю идентификатор, чтобы сделать вывод легче.
- 1. Задержка рендеринга настраиваемого элемента управления в WPF
- 2. Создание наследования класса моего настраиваемого элемента управления
- 3. Изменение размера настраиваемого элемента управления
- 4. Как получить ASP.NET для распознавания моего настраиваемого серверного элемента управления?
- 5. Как создать связанное событие для моего настраиваемого элемента управления?
- 6. Сопоставление настраиваемого элемента управления
- 7. Создание настраиваемого элемента управления
- 8. Создание настраиваемого прозрачного элемента управления
- 9. Как мне получить доступ к элементам управления страницы из моего настраиваемого серверного элемента управления?
- 10. C# Создание настраиваемого элемента управления
- 11. Исключение происходит, когда кнопка щелкнула внутри моего настраиваемого элемента управления
- 12. Изменение цвета настраиваемого элемента управления
- 13. Получение значения поля из настраиваемого элемента управления при наличии нескольких экземпляров настраиваемого элемента управления
- 14. Предоставление универсального элемента управления для моего настраиваемого RichTextBox
- 15. Почему компоненты моего настраиваемого элемента управления не инициированы?
- 16. UIPangesture блокирует события перемещения касания моего настраиваемого элемента управления
- 17. C#: Вращающийся текст внутри настраиваемого элемента управления
- 18. Создание настраиваемого элемента управления .NET
- 19. Создание настраиваемого элемента управления Изображение
- 20. Как вызвать метод настраиваемого элемента управления datagridview?
- 21. Создание настраиваемого элемента управления панели управления
- 22. Управление рендерингом настраиваемого элемента управления
- 23. Создание настраиваемого элемента управления SSRS
- 24. Предотвращение рендеринга пользовательского элемента управления
- 25. Как установить свойство настраиваемого элемента управления из главного окна?
- 26. Как инвертировать цвета настраиваемого элемента управления WPF
- 27. Нокаут вычисляет высоту контейнера из настраиваемого элемента после рендеринга элементов
- 28. Изменить значение по умолчаниюValue свойства настраиваемого элемента управления
- 29. WPF: Ошибка использования настраиваемого элемента управления в ItemTemplate другого настраиваемого элемента управления
- 30. LightSwitch HTML-клиент: как получить содержимое/значение настраиваемого элемента управления?
+1 overrode tagKey и он хорошо работает – Maslow