그래서 두 개의 라디오 버튼이 있습니다. RadioButton1이 선택되면, Panel1을 보이게하고 Panel2를 숨기고 싶습니다. RadioButton2를 선택하면 Panel2를 표시하고 Panel1을 숨겨 둡니다. 다시 게시가 필요없이이 작업을 수행 할 수있는 방법이 있습니까?패널의 가시성을 다른 컨트롤에 연결하려면 어떻게해야합니까?
0
A
답변
1
기본적으로이 작업을 수행하는 두 가지 방법이있다.
클라이언트 측 :
CSS :
.hidden { display: none; }
자바 스크립트 :
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>
코드 숨김 :
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>
코드 숨김 :
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
같은 날기 등이 작업을 수행하는 여러 가지 방법이있다 g 클라이언트 측을위한 jQuery와 서버 측을 위해 좀 덜 하드 코딩 된 로직을 사용한다.
1
작은 자바 스크립트로이 작업을 수행 할 수 있습니다. 두 라디오 버튼에 온 클릭 핸들러를 추가하고보기를 업데이트하는 함수를 호출 비동기 포스트 백 완전히 클라이언트 측과 서버 측 :
이<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. DataTemplate의 일부로 동적으로 들어오는 컨트롤에 이벤트를 연결하려면 어떻게해야합니까?
- 2. 애플릿을 페이지에 연결하려면 어떻게해야합니까?
- 3. ID를 ListViewItem에 연결하려면 어떻게해야합니까?
- 4. diff 키의 값을 리소스 파일에서 연결하려면 어떻게해야합니까?
- 5. 장바구니를 사용자 세션에 연결하려면 어떻게해야합니까?
- 6. Weblogic에서 RedBrick 데이터베이스에 연결하려면 어떻게해야합니까?
- 7. Expect를 사용하여 SSH에 연결하려면 어떻게해야합니까?
- 8. 클래스 이름의 String 리소스를 참조하고 XML의 다른 문자열과 연결하려면 어떻게해야합니까?
- 9. 다른 AS3 파일의 동영상 클립에 대한 참조를 연결하려면 어떻게해야합니까?
- 10. 텍스트를 패널의 버튼으로 이동하려면 어떻게해야합니까?
- 11. 패널의 다른 WPF 창 안에 WPF (xaml) 창을로드하려면 어떻게해야합니까?
- 12. 다른 패널의 그룹으로 라디오 버튼
- 13. Google지도 마커를 다른 요소에 연결하려면 어떻게해야하나요?
- 14. C#에서 여러 창을 연결하려면 어떻게해야합니까?
- 15. 두 개의 UIGestureRecognizer를 함께 연결하려면 어떻게해야합니까?
- 16. 드롭 다운을 사용하여 파일에 연결하려면 어떻게해야합니까?
- 17. RVM을 자작 Ruby 디렉토리로 연결하려면 어떻게해야합니까?
- 18. Eclipse에서 Android 소스 코드를 다운로드하고 연결하려면 어떻게해야합니까?
- 19. Silverlight 4 클라이언트를 Windows 서비스에 연결하려면 어떻게해야합니까?
- 20. ClickOnce 앱에 맞춤 URL 프로토콜을 연결하려면 어떻게해야합니까?
- 21. Facebook의 iframe 앱에서 특정 페이지로 연결하려면 어떻게해야합니까?
- 22. Composite WPF에서 keypress를 DelegateCommand와 연결하려면 어떻게해야합니까?
- 23. Flex를 사용하여 서버에 다시 연결하려면 어떻게해야합니까?
- 24. Android에서 뷰를 소프트 키보드에 연결하려면 어떻게해야합니까?
- 25. sqlite를 내 Android 애플리케이션에 정적으로 연결하려면 어떻게해야합니까?
- 26. C#으로 표준 입력과 출력을 연결하려면 어떻게해야합니까?
- 27. Sitecore 페이지 편집기에서 저장 이벤트를 연결하려면 어떻게해야합니까?
- 28. SELECT EXISTS() 쿼리를 함께 연결하려면 어떻게해야합니까?
- 29. 측면 업데이트 패널의 ASP.NET gridview 컨트롤에 문제가 있습니다.
- 30. Silverlight에서 다른 컨트롤에 바인딩