Итак, у меня есть две переключатели. Если выбран RadioButton1, я хочу, чтобы панель 1 была видимой, а панель 2 была скрыта. Если выбран RadioButton2, я хочу, чтобы панель 2 была видимой, а панель 1 была скрыта. Есть ли способ сделать это, не требуя обратной передачи?Как я могу привязать видимость панели к другому элементу управления?
0
A
ответ
1
Там по существу два способа сделать это: полностью на стороне клиента и на стороне сервера с асинхронным постбэка.
стороне клиента:
CSS:
.hidden { display: none; }
Javascript:
toggleDiv = function(id, opt) {
_id = document.getelementbyid(id);
if (opt == "show") {
_id.style.display = "block";
} else {
_id.style.display = "hidden";
}
}
ASPX:
<asp:radiobutton id="rbOne" runat="server" />
<asp:radiobutton id="rbTwo" runat="server" />
<div id="panel1" class="hidden">
<p>Panel 1</p>
</div>
<div id="panel2" class="hidden">
<p>Panel 2</p>
</div>
Code-Behind:
Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
' Apply onclick handlers to the radio buttons
If Not Page.IsPostBack Then
rbOne.Attributes.Add("onclick", "toggleDiv('" & rbOne.ClientId() & "', 'show'); toggleDiv('" & rbTwo.ClientId & "', 'hide');")
rbTwo.Attributes.Add("onclick", "toggleDiv('" & rbOne.ClientId() & "', 'hide'); toggleDiv('" & rbTwo.ClientId & "', 'show');")
End If
End Sub
Серверное
ASPX:
<asp:UpdatePanel id="upRadioButtons" runat="server">
<asp:radiobutton id="rbOne" runat="server" autopostback="true" />
<asp:radiobutton id="rbTwo" runat="server" autopostback="true" />
<asp:multipage id="mvButtonPanels" runat="server">
<asp:view id="view1" runat="server">
<p>Panel 1</p>
</asp:view>
<asp:view id="view2" runat="server">
<p>Panel 2</p>
</asp:view>
</asp:multipage>
</asp:UpdatePanel>
Code-Behind:
Protected Sub rbOne_CheckedChanged(ByVal sender As Object, ByVal e As System.EventArgs) Handles rbOne.CheckedChanged
mvButtonPanels.ActiveViewIndex = 0
End Sub
Protected Sub rbTwo_CheckedChanged(ByVal sender As Object, ByVal e As System.EventArgs) Handles rbTwo.CheckedChanged
mvButtonPanels.ActiveViewIndex = 1
End Sub
Там же много других способов сделать это, такие как USIN g jQuery для клиентской стороны и с использованием бит менее жестко закодированной логики для серверной части.
1
Вы можете сделать это с помощью небольшого javascript. Добавьте обработчик OnClick для обоих переключателей и вызвать функцию, чтобы обновить вид:
<input type="radio" id="radio_1" onclick="updateView">Radio 1
<input type="radio" id="radio_2" onclick="updateView">Radio 2
<script>
function updateView() {
var radio_1 = document.getElementById("radio_1");
// etc... get radio 2 and panels the same way
panel_1.style.display = radio_1.checked ? "block" : "none";
panel_2.style.display = radio_2.checked ? "block" : "none";
}
</script>
Смежные вопросы
- 1. Привязать ярлык к другому элементу
- 2. Как привязать к другому элементу управления собственности в WPF
- 3. Как привязать свойство к пользовательскому элементу управления?
- 4. Привязать свойство к настраиваемому элементу управления
- 5. Как я могу динамически «привязать» класс к другому xaml?
- 6. Silverlight привязывает текстовый блок к другому пользовательскому элементу управления
- 7. Как я могу связать один элемент к другому элементу
- 8. Присоединить DatePicker к другому элементу пользовательского интерфейса
- 9. вид Грифон - я могу привязать к элементу массива с
- 10. В Wpf GridView, как я могу привязать элемент управления к другому внутри одного элемента.
- 11. Как привязать источник данных к элементу управления ярлыками
- 12. Как привязать список ViewModel к настраиваемому элементу управления?
- 13. Как привязать данные к элементу управления ListBox ASP.NET?
- 14. Когда я могу привязать функцию к другому имени?
- 15. Silverlight 4 бесшумный контроль. Привязать к другому элементу в том же элементе управления
- 16. ASP.NET: привязать значение к пользовательскому элементу управления внутри ретранслятора
- 17. Bind Button.Command к другому элементу по имени
- 18. Значение привязки от на панели управления к другому
- 19. Привязать к TreeView выбранному элементу
- 20. Как я могу перейти к элементу управления Windows?
- 21. WPF: Можно ли привязать метод выбранного объекта к другому элементу управления?
- 22. Привязать кнопку к выбранному элементу
- 23. Можете ли вы привязать данные к элементу управления TreeView?
- 24. Не удается привязать данные к элементу управления, когда Control.Visible == ложь
- 25. Привязать текущую функцию к элементу
- 26. Привязать подразделение к другому подразделению
- 27. Привязать свойство к другому свойству настраиваемого элемента управления
- 28. Как мне привязать команду к элементу списка?
- 29. Как я могу привязать панель к элементу DOM в addon-builder?
- 30. Могу ли я изменить видимость управления радиообъективом