2010-02-01 5 views
1

asp.net aspx 페이지가 있고 해당 페이지에 paneIndex의 ID 및 숨겨진 입력 필드가 있습니다. 그러나 페이지를로드 할 때 경고는 첫 번째로드에서 올바른 인덱스 1을 표시하지만 예를 들어 창 3을 열면 경고에 1이 계속 표시됩니다. 내가 뭔가 잘못하고 있는거야? Custom.js 파일에서 활성 인덱스가 jQuery 아코디언 변경 이벤트에 유지되지 않습니다.

, 나는 다음과 같은 코드를 가지고 :

내 서버 사이드 버튼 클릭에서
$(document).ready(function() { 

    $("#accordion").accordion({ 
     active: 1, 
     collapsible: true, 
     autoHeight: false, 
     change: function(event, ui) { 
      var activeIndex = $("#accordion").accordion('option', 'active'); 
      $("#paneIndex").val(activeIndex); 

      //alert(activeIndex); 
     } 
    }); 
}); 

, 나는 다음과 같은 코드가 있습니다

string activeIndex = Request.Form["paneIndex"]; 
string script = string.Format(@"<script type=""text/javascript"">var paneIndex = 
           {0};</script>", activeIndex); 

    if(!ClientScript.IsStartupScriptRegistered("JSScript")) 
     ClientScript.RegisterStartupScript(this.GetType(),"JSScript", script); 

답변

0

을 그냥 jQuery를 테스트 한 여기에서 스크립트를 사용하면 폼 제출/다시 게시 없이는 제대로 작동합니다.

따라서 귀하의 문제는 양식 제출/activeIndex 변수가 올바르게 설정되지 않았다고 가정합니다.

asp.net을 사용하는 경우 포스트 백을 사용하는 대신 양식을 제출해야합니까? 양식 제출 대신 가능한 경우 항상 서버에 대한 다시 게시를 시도합니다.

Visual Studio를 사용하는 경우 서버 측 코드에 중단 점을 설정하고 제출 후 올바른 변수가 포함 된 Request.Forms 컬렉션을 조사 할 수도 있습니다.

관련 문제