CSS поддерживает несколько имен классов: файлКак установить множественное имя cssclass для элемента управления с поддержкой ASP.NET?
<hwc:DropDownList ID="ddlRoomType" runat="server" class="invisible blue" EnableTheming="true" />
кожи:
<%-- Default dropdown appearance --%>
<asp:DropDownList runat="server" CssClass="dropDownList" AutoPostBack="true"/>
И asp.net Тематизация обеспечивает дополнительное свежевание атрибутов и уровень абстракции для нас. Так что я говорю о классическом стиле css и комбинированном сценарии asp.net.
Но когда дело доходит до предоставления атрибута CssClass (или класса) вручную с включенным asp.net-тегом, вы должны сделать выбор, который должен переопределить другой.
Как мы можем объединить введенные вручную имена классов с именем динамического класса, созданным asp.net theming, для генерации вывода html, как показано ниже;
<select id="ctl00_Content_ddlRoomType" class="invisible blue dropDownList">
<option value="0">- Select Room -</option>
<option value="9">Single Room</option>
</select>
Я не могу найти ни одного класса .net, чтобы переопределить реализацию другой логики. Любые идеи? Благодарю.
Чтобы связать имена классов, сначала мне нужно получить значение CssClass (выражение типа «dropdownlist +») из раскрывающегося списка. Но в режиме разрешенного использования я могу получить только замененное значение (dropdownlist) даже в событии OnInit элемента управления. Событие Theming работает и заменяет значения перед событиями управления и класса страниц, которые, как я думаю. Поэтому мне нужно поймать некоторые события, прежде чем начнется операция. Тогда я могу легко реализовать ваши решения. Спасибо. –
Вы можете начать с перехода на StyleSheetTheme вместо обычной темы. Первый позволяет вам переопределять свойства скина на странице, где последний делает обратное. Вы всегда можете установить свойство CssClass программно на своей странице. Чтобы автоматизировать его, вам понадобится либо адаптер управления, либо производный класс, как я объяснил в своем ответе. – RickNZ