2011-08-22 4 views
1

자바 스크립트 파일에서 web.config 요소 값을 가져 오는 방법은 무엇입니까? javascript 파일에서 appSettings 키의 값이 필요합니다 (aspx가 아님). 이 가치를 얻기 위해 어떤 접근법을 사용해야합니까? web.configjs의 web.config

+1

web.config에서 어떤 정보를 가져 왔는지 조심하십시오. 이 값은 소스를 보는 모든 사용자가 볼 수 있습니다. –

답변

0

자바 스크립트 파일에서 직접 가져올 수 없습니다. 서버 측 스크립팅 (ASP.NET)을 사용하여 값을 자바 스크립트 변수에 출력하고 파일에있는 함수로 전달할 수 있지만 자바 스크립트 파일에서는 동적이지 않습니다.

자바 스크립트 파일을 동적으로 생성하는 HTTP 모듈을 만들 수 있습니다.이 모듈은 web.config에 직접 액세스 할 수 있으며 자바 스크립트를 출력 할 때 동적으로 값을 삽입 할 수 있습니다.

2

aspx 페이지에서 이와 같이 할 수 있습니다. 당신이 데이터베이스 연결 정보 또는 기계 키 같은 것들을 저장하는 경우

<script type="text/javascript"> 
     var keyName1 = '<%=ConfigurationManager.AppSettings["KeyName1"]%>'; 
    </script> 

자바 스크립트로 전체 web.config 파일을 열면 주요 보안 위험이 될 수 있습니다.

0

최소한 리소스를 많이 사용하면 NAnt에서 filter chains (또는 MSBuild가있는 경우 equiv)과 같은 것을 사용하여 JS 파일과 web.config 파일에 값을 쓸 수 있습니다.

이렇게하면 코드가 중복되는 것을 방지 할 수 있습니다.

대안 (약간 kludgy 및 리소스 집약적 인) 스크립트에서 스크립트 블록을 배치하는 것이 좋지만 aspx 페이지에서 ConfigurationMangager.GetSection ("web.config")을 사용하여 동적으로 렌더링 한 값이 필요합니다. 다음과 같이하십시오 : http://schleichermann.wordpress.com/2009/01/15/dynamic-script-loading-in-html-head/

0

표현식 빌더를 사용하면 < % = %> 태그보다 조금 더 유연하며 appsettings에 액세스하기 위해 내장되어 있습니다. 구문 :
<%$ AppSettings:MyKey %>
자세히 알아보기 here입니다.

0

코드 숨김 파일에서 가져 와서 숨겨진 값으로 전달하는 것이 좋습니다.