2012-10-01 4 views
0

코드 숨김에서 JavaScript로 값 (abc)을 전달하려고했지만 페이지가 실패하고로드되지 않습니다. 문법에 문제가 있습니까? 정상적으로는 < % ... %>가 노란색으로 강조 표시되었지만 내 코드에서는 그렇지 않습니다. On_Load 이벤트 뒤에코드 숨김에서 JavaScript로 값 전달

<script src="../Scripts/jqModal.min.js" type="text/javascript"></script> 
<script type="text/javascript"> 
    $().ready(function() { }); 

    $("a").click(function() { 
    if (this.id == "optionalFeatures_Online") { 
     var abc = "<%=Variable_codebehind %>"; 
    } 
     }); 
</script> 

코드 : 로그 파일에서

protected override void OnLoad(EventArgs e) 
    { 
     Variable_codebehind = "hello world"; 
    } 

오류 :

Web.HttpUnhandledException '는 던져졌다. ---> System.Web.HttpException : 컨트롤에 코드 블록 (예 : < % ... %>)이 포함되어있어 Controls 컬렉션을 수정할 수 없습니다.

+0

구문 모두 잘보세요. Variable_codebehind 변수를 어디에서 선언 했습니까? 그것은 페이지 클래스에서'protected' 또는'public' 멤버 여야 만합니다. 아니면 마크 업에서 접근 할 수 없습니다. – Guffa

+0

첫째,'$(). ready (function() {});'에 포인트가 없습니다. 어떤 효과가 있으려면 자바 스크립트를 모두 래핑해야합니다. 또한 준비가되기를 기다리고 싶은 말을해야합니다. 예를 들면 다음과 같습니다. '$ (document) .ready (function() {// 여기 코드}})' – smilledge

+1

'Variable_codebehind' 내용에 큰 따옴표가 있으면 망설입니다. – Lucero

답변

0

첫번째 바인드

다음

0
<script src="../Scripts/jqModal.min.js" type="text/javascript"></script> 
<script type="text/javascript"> 
    $(document).ready(function() {  
     $("a").click(function() { 
      if (this.id == "optionalFeatures_Online") { 
       var abc = <%=Variable_codebehind %>; 
      } 
     }); 
    }); 
</script> 

코드 On_Load 이벤트 뒤에 숨겨진 컨트롤에서 값을 가져 숨겨진 컨트롤에 값 :

protected override void OnLoad(EventArgs e) 
    { 
     Variable_codebehind = HttpUtility.JavaScriptStringEncode("hello world", true); 
    } 
+0

JavaScriptStringEncode에 빨간색 밑줄이 표시됩니다. USING 문이 필요합니까? – Susan

+0

쉽게 찾을 수 있습니다. http://msdn.microsoft.com/en-us/library/dd991914(v=vs.100).aspx –

0

사용할 수 Page.RegisterStartupScript 및 Code-Behind에서 몇 가지 변수를 전달하십시오. 은 .js 파일에 스크립트를 삽입하고 코드 숨김에서의 OnLoad 방법에 전화 :

온로드 코드 숨김 :

Page.ClientScript.RegisterClientScriptBlock(this.GetType(), "MyScript", String.Format("MyScript({0});", codeBehindVar)); 

MyScript.js

function MyScript(myVar) 
{ 
    var self = this; 
    $("a").click(function() { 
    if (this.id == "optionalFeatures_Online") { 
     var abc = self.myVar; 
    } 
} 
관련 문제