2011-08-22 5 views
2

현재 특정 텍스트를 저장하고 다른 페이지에 표시 할 수 있도록 일종의 관리 방법을 사용하고 있습니다.Javascript를 사용하여 다른 페이지에서 변수 참조하기.

현재 "Admin"페이지의 기본값은 다른 페이지에서 참조됩니다. 그것은 간단한 페이지의 : 이제

<asp:TextBox Text="Testing jQuery method" ID="TextBox" runat="server"/> 
<asp:CheckBox Checked = "true" ID="CheckBox" runat="server" /> 

, 실제로 간단한 HTML 파일이 필드를 참조하는 페이지, 그래서 필드를 참조 할 jQuery를 사용하는 것을 시도하고있다. jQuery 아약스 호출을 사용하려고하지만 제대로 작동하지 않을 수 있습니다.

<script type="text/javascript" src="Scripts/jquery-1.4.1.js"> 
var asp_checked; 
var asp_text; 

try { 
    jQuery.ajax({ 
     url: '~/About.aspx', 
     success: function (response, status, xhr) { 
      if (status != "error") { 
       asp_checked = $('#CheckBox', response).text(); 
       asp_text = $('#TextBox', response).text(); 
      } 
      else { asp_text = "Error in jQuery Call"; } 
     }, 
     async: false 
    }); 
    document.write(asp_text); 
     } 
catch (err) { 
    document.write("The jQuery is not working"); 
} 
</script> 

유의할 것들 :
1. 정말 일반적으로 jQuery를 잘 모른다.
2. 쿠키를 사용할 수 없습니다 (생각하지 않습니다). 이것은 회사의 인트라넷에 공지 사항 등을 알리는 것입니다.
3. jQuery 코드가 SO에서 가져 왔지만 Question 참조를 기억할 수 없습니다. 내가 할 때 나는 여기에서 갱신 할 것이다.

+0

$('[id$=cb]') About.aspx'는 JSON을 생성하는'경우입니다 작동합니다 유일한 방법 : 이 같은 뭔가 jQuery를 귀하의 선택을 변경

  • . –

  • +0

    @rockinthesixstring : 사실이 아닙니다. jQuery는 HTML을로드하고 DOM 객체로 파싱 할 수 있으므로 이러한 요소의 값을 가져올 수 있습니다. 진짜 문제는, 내가 보았 듯이, ASP가 아마 당신의 요소의 ID를 변경하고 있기 때문이다. ASP 코드에서 id = "CheckBox"! = id = "CheckBox"를 HTML로 만든다. (하지만 ASP 코드에서 ClientIdMode로 재생할 수 있습니다.) –

    +0

    [HTML5 로컬 저장소] (http://diveintohtml5.org/storage.html)를 사용하는 것처럼 들립니다. – Mottie

    답변

    2

    ASP 컨트롤이기 때문에 ASP는 컨트롤에 대해 고유 한 "상대"ID를 사용하고 있습니다. <asp:CheckBox id="cb" />과 같은 내용은 최종 결과 페이지에 도달하면 <input type="checkbox" id="SomeContainer_foo$cb" />으로 바뀔 수 있습니다. (즉, $('#cb')은 이제 제어 ID에있는 다른 모든 정보로 인해 더 이상 유효하지 않습니다.)

    옵션은 있습니까?

      컨트롤에 ClientIdMode을 설정하여 정적 ID를 사용하는 컨트롤을 변경
    1. . HTML 페이지에 대한 ASP 마크 업 이전에서 ID로 사용하는 모든 것을 만듭니다. ($=가 "로 끝"을 의미)
    +0

    감사합니다. jquery selector 내에서 "$"- 몇 군데에서 자라기 시작했고 표기법에 익숙하지 않았습니다. – mikemanne

    +0

    @mikemanne : 글쎄,'$()'는'jQuery ()'. 그러나,'$'_ 셀렉터는 다른 것을 의미합니다.이 경우 부분 일치 ID입니다. –

    관련 문제