2011-12-15 2 views
0

5 개의 탭이있는 간단한 웹 페이지가 있습니다. 각 탭은 LinkButton입니다. 본체는 <div>이고 그 안에 PlaceHolder을 넣습니다. 이제는 탭에서 클릭 이벤트를 만들고 싶으므로 탭 중 하나를 클릭 할 때마다 PlaceHolder이 적절하게 변경됩니다. 그래서 나는이 개 질문이 여기에 있습니다 : LinkButton을 클릭 할 때 PlaceHolder를 업데이트하는 방법

  • 가 어떻게이 PostBack을 해제하고 LinkButtonPlaceHolder (사용 C#)를 업데이트 할 수 있습니까?

  • PlaceHolder을 HTML 페이지로로드/다시로드 할 수 있습니까?

감사합니다.

+0

의도 한 기능을 중심으로 원을 그리는 것처럼 느껴집니다. 탭을 클릭 할 때 탭 표시/숨기기를 원하십니까? – David

+0

@David 예, 그렇습니다. 이것은 ASP.net BTW를 처음 사용하는 경우입니다. –

답변

1

이 모든 것을 포스트 백이 발생하지 않으려면 LinkButtonPlaceHolder과 같은 서버 측 컨트롤을 사용하지 않는 것이 좋습니다. 달성하고자하는 것은 클라이언트 측의 관심사로 훨씬 쉽게 할 수 있습니다.

jQuery UI tabs을 살펴보십시오. 다양한 데모에서 코드를 살펴보면 (해당 페이지의 "소스보기"를 클릭하면 HTML이 얼마나 간단한 지 알 수 있습니다), 일반 HTML에 방금 첨부 된 것을 볼 수 있습니다. 서버 쪽이 아닙니다. 탭 머리글을 일반 HTML 요소 (데모에 li/a 요소)로 만들면 어쨌든 원하지 않는 "포스트 백"작업을 수행 할 수 있습니다.

이 탭에는 특별한 변화가 없습니다. 각각을 클릭하면 탭 요소 (이 경우 div)에 대한 CSS가 업데이트되어 그에 따라 display 속성이 변경되고 그에 따라 숨기기 및 숨기기가 취소됩니다.

코드에서 서버 측과 클라이언트 측 기능의 분리를 코드에서 어떻게 처리하는지 알아 두어야합니다. 서버 측 코드 (ASP.NET 항목)의 관점에서 볼 때 모든 페이지가 하나입니다. 역동적이거나 특별한 일이 없습니다. 그것은 전체 페이지를 다른 것과 같이 렌더링합니다. 클라이언트 측 코드 (JavaScript/CSS/HTML 항목)는 서버 측 코드에서 완전히 알 수없는 사용자 경험을 제공합니다. ASP.NET에 관한 한, 브라우저에 페이지를 전달하고 있습니다. 아무것도 더.

0

이 다음 그것은 다시 게시 않습니다 만 자리 부분을 업데이트 할 수 있습니다 UpdatePanel

를 사용해보십시오 (멋진) jQuery를 사용하지 ASP.NET에서 일해야하는 경우.

관련 문제