2011-10-10 2 views
0

나는 aspx 페이지에 3 개의 탭이 있습니다. tab3에서 버튼을 클릭하면 다시 게시가 발생하고 tab1로 되돌아옵니다. tab3에 머무는 방법은? 다음은 aspx 페이지입니다. 또한 나는 우리가 tab1에 활성 탭을 설정하는 자바 스크립트를 가지고있는 것으로 나타났습니다. 누구든지 그것을 어떻게 수정하여 포스트 백 동안 선택된 탭을 활성 탭으로 설정할 지 알려 줄 수 있습니까?다시 게시하는 동안 선택한 탭에 머물 수 있습니까?

<div id="content">  
<ul class="tabs"> 
<li><a href="#tab1">Edit</a></li> 
<li><a href="#tab2">History</a></li> 
<li><a href="#attachmentcontent">Attachments</a></li> 
</ul> 


<div class="tab_container"> 

<div id="tab1" class="tab_content"> 

<script type="text/javascript"> 
    $(document).ready(function() { 

     //When page loads... 
     $(".tab_content").hide(); //Hide all content 
     $("ul.tabs li:first").addClass("active").show(); //Activate first tab 
     $(".tab_content:first").show(); //Show first tab content 

     //On Click Event 
     $("ul.tabs li").click(function() { 

      $("ul.tabs li").removeClass("active"); //Remove any "active" class 
      $(this).addClass("active"); //Add "active" class to selected tab 
      $(".tab_content").hide(); //Hide all tab content 

      var activeTab = $(this).find("a").attr("href"); //Find the href attribute value to identify the active tab + content 
      $(activeTab).fadeIn(); //Fade in the active ID content 
      return false; 
     }); 

    }); 

...

+0

난 숨겨진 필드를 사용하여 문제를 해결했습니다. 내 jquery 스크립트를 여기 게시 할 수 없습니다. 누군가 도움이 필요하면 이메일을 보내십시오. – GLP

답변

0

당신이 말하는 것은 상태를 유지하는 것입니다. 일반적인 접근법은 세션에 변수를 저장하거나 무엇이 '선택된'탭인지 나타내는 것입니다. 그런 다음 페이지로드시 해당 페이지를 읽고 해당 위치의 페이지에 적용하십시오.

0

탭 3의 세션 값을 유지하고 다시 게시하는 동안 그냥 세션 값으로 탭 위치를 설정합니다.

기본적으로 어딘가에 쿠키를 저장해야합니다. 세션 상태는 당신에게 달려 있습니다. 그런 다음 해당 세션 상태 변수를 컨트롤의 속성 값에로드하여보고 있던 위치로 다시 설정합니다.

asp.net 세션 상태를 읽어보십시오.

+0

활성 탭을 tab1로 설정하는 자바 스크립트가 있음을 발견했습니다. 아무도 그것을 다시 게시하는 동안 선택한 탭으로 설정할 수 있도록 그것을 수정하는 방법을 말해 줄 수 있습니까? – GLP

+0

은 viewstate가 좋지 않겠습니까? 꼭해야 할 필요가 없다면 세션을 사용하는 것을 정말 좋아하지 않습니다.이 프로세스가 한 페이지 만 진행하기 때문에 ViewState를 올바르게 사용할 수 있습니까? – Bastardo

+0

ViewState가 작동하지 않습니다. – GLP

0

세션에 몇 가지 단점이 있습니다. JavaScript는 세션의 첫 번째 값만 읽을 수 있습니다. 예를 들어 Session["name"]="Gaolai Peng"Page_Load에 설정합니다. 그런 다음 Session["name"]="Rauf"을 설정하면 버튼 클릭의 포스트 백에서 JavaScript를 사용하여 세션을 읽으면 "Gaolai Peng"이 반환됩니다. 따라서 세션 대신 HiddenField을 사용하십시오.

+0

jquery에서 어떻게합니까? – GLP

+0

@ Gaolai Peng jQuery 탭을 사용하고 있습니까? – Rauf

관련 문제