2014-01-07 6 views
7

asp.net mvc application의 javascript에서 세션 변수에 액세스하려고했습니다. 나는 aspx보기 엔진에서 그것을 할 수있는 방법을 발견했지만 면도기에 아닙니다.JavaScript의 세션 변수에 액세스

<script type="text/javascript"> 
    var someSessionVariable = '@Session["SomeSessionVariable"]'; 
</script> 

을 또는 이런 식으로 숫자 인 경우 :

String 변수

+1

모델에 세션 값을 추가하려고 시도 했습니까? – diceler

답변

17

당신은이 방법을 할 수있는 세션 변수를 액세스하기 위해 나에게있는 방법을 알려주세요

<script type="text/javascript"> 
    var someSessionVariable = @Session["SomeSessionVariable"]; 
</script> 

이것은 매우 깨끗한 접근법이 아니며 스크립트 파일을 사용하는 대신 인라인 JavaScript가 필요합니다. 이걸 가지고 도망 가지 않도록 조심하십시오.

6

저는 개인적으로 데이터 속성 패턴을 좋아합니다. 자바 스크립트에서

<div id="myDiv" data-value="@Request.RequestContext.HttpContext.Session["someKey"]"></div> 

: 당신의 면도기 코드에서

구글에서 검색 한 사용자의 경우

var value = $("#myDiv").data('value'); 
+0

내 컨트롤러에서이 세션의 값을 액세스하고 가져올 수 있습니까? –

+0

MVC 또는 Web API 컨트롤러에서 'myKey "에 대한 값을 얻으려면'var myValue = Session ["MyKey "];를 입력하면됩니다. – Moeri

+0

정말 고맙습니다. –

0

, 또한

, 외부에서 세션 변수에 액세스하려면 .js 파일을 다음과 같이 간단하게 작성할 수 있습니다.

------ SOME HTML PAGE ------ 

//Scripts below Html page 
<script> 
    //Variable you want to access 
    var mySessionVariable = '@Session["mySessionVariable"]'; 
</script> 

// Load External Javascript file 
<script src="~/scripts/MyScripts/NewFile.js"></script> 

내 asp.net에서 NewFile.js

$(document).ready(function() { 
    alert(mySessionVariable); 
}); 
0

내부, 나는

 <script type="text/javascript"> 
      var someSessionVariable = '@Session["SomeSessionVariable"]'; 
    </script> 

에 의한 결과를 얻고 있지 않다 그러나 나는 아래의 코드로 답변을 얻을

<script type="text/javascript"> 

    var yourVariable = '<%= Session["SessionKey"] %>'; 

</script> 
+0

제 생각에는 응용 프로그램에서 MVC를 사용하지 않았다고 생각합니다. –

관련 문제