#html #asp.net
Вопрос:
почему этот css работает, когда я кодирую его с помощью html, и остается проверенным, когда я выбираю переключатель, но не когда я использую aspx
.btn-check:checked .btn-secondary, .btn-check:active .btn-secondary, .btn-secondary:active, .btn-secondary.active, .show > .btn-secondary.dropdown-toggle {
color: #fff;
background-color: #80D2DA;
border-color: #80D2DA;
}
код aspx
<div class="col-lg-4 col-6 pt-lg-0 pt-2">
<asp:RadioButton ID="RadioButton1" runat="server" class="btn-check" GroupName="Testing" Text="1" />
<label class="btn btn-secondary w-100 p-lg-3 p-3" for="RadioButton1">above 37amp;deg;C</label>
</div>
Комментарии:
1. Попробуйте CssClass в качестве атрибута вместо обычного класса
2. не работает так хорошо
3. Проверьте полученный html-код по мере его поступления в браузер, это то, чего вы и css ожидаете?
4. это так, но я хочу, чтобы переключатель стал темнее, как будто он нажат, но он не работает, когда я использую его с asp, но он работает, когда я кодирую его в html
Ответ №1:
Ну, эти классы кнопок выглядят как загрузочные, и поэтому я бы предложил вам создать главную страницу, а затем включить форматирование начальной загрузки и классы на всех страницах.
И, как я уже говорил ранее, вам ГОРАЗДО лучше использовать список радиосвязи. Причин здесь МНОГО — и если вы используете список радиокнопок, то вы можете с БОЛЬШОЙ легкостью использовать код позади, чтобы установить этот список переключателей, а также, если у вас есть 2 или 15 вариантов, то код позади становится ОЧЕНЬ простым.
Поэтому я хотел бы убедиться, что элементы начальной загрузки правильно включены, и, следовательно, вам не нужно пытаться отформатировать это так, как вы есть.
но вы можете и должны быть в состоянии заставить это работать:
<style>
.btn-check:checked .btn-secondary, .btn-check:active .btn-secondary, .btn-secondary:active, .btn-secondary.active, .show > .btn-secondary.dropdown-toggle {
color: #fff;
background-color: #80D2DA;
border-color: #80D2DA;
}
</style>
<div class="col-lg-4 col-6 pt-lg-0 pt-2">
<asp:RadioButton ID="RadioButton1" runat="server" class="btn-check" GroupName="Testing" Text="1" />
<label class="btn btn-secondary w-100 p-lg-3 p-3" for="RadioButton1">above 37amp;deg;C</label>
</div>
И все вышесказанное приводит к этому:
и если я нажму на него, я получу это:
тем не менее, вы могли и должны были предоставить хотя бы немного больше разметки.
Как уже отмечалось, список переключателей НАМНОГО лучше и избавит вас от бедности во всем мире.
Так что, как и предполагалось, это намного лучше:
<asp:RadioButtonList ID="RadioButtonList1" runat="server" cssclass="MyRadio">
<asp:ListItem Value="1">below 36amp;deg;C</asp:ListItem>
<asp:ListItem Value="2">36amp;deg;C - 37amp;deg;C</asp:ListItem>
<asp:ListItem Value="3">above 37amp;deg;C</asp:ListItem>
</asp:RadioButtonList>
Выше приводится это:
Мало того, что выше довольно чисто, то в коде позади вы можете это сделать:
Debug.Print("Index selected = " amp; RadioButtonList1.SelectedIndex)
Debug.Print("Value of Radio select = " amp; RadioButtonList1.SelectedValue)
Debug.Print("Text of Radio select = " amp; RadioButtonList1.SelectedItem.Text)
Вывод: (скажем, первый выбор)
Index selected = 0
Value of Radio select = 1
Text of Radio select = below 36°C
И вышесказанное также означает, что вы можете в коде установить значение.
Таким образом, вам не нужно «создавать группу», и вам не нужно удалять или создавать каждую кнопку отдельно. И еще лучше, вы даже можете управлять списком кнопок radibo из таблицы — в целом, вы обнаружите, что этот подход меньше разметки, намного лучше работает с кодом (вы можете получить значение индекса, «значение» или текст, как указано выше — и даже лучше, вы можете просто установить значение или индекс этого списка переключателей в коде — и опять же, вы имеете дело только с одним приятным простым элементом управления.
Но, если вы собираетесь добавить стиль — тогда вышеприведенный стиль должен работать, но, как уже отмечалось, эти классы btn действительно похожи на загрузочные, поэтому они должны работать при условии, что у вас есть загрузочная загрузка на каждой странице (и, следовательно, нет необходимости включать этот стиль для кнопок).