[javascript] 세션 변수에 액세스하고 JavaScript로 설정하는 방법은 무엇입니까?

코드 숨김 Session에서 일부 데이터로 설정 했습니다.

Session["usedData"] = "sample data";

그리고 질문은 어떻게하면 자바 스크립트에서 세션 값 (예 : “샘플 데이터”)을 가져 와서 Session["usedData"]새 값으로 설정할 수 있습니까?



답변

Javascript를 사용하여 세션 변수 액세스 및 할당 :

Javascript를 사용하여 ASP.NET 세션 변수 할당 :

 <script type="text/javascript">
function SetUserName()
{
    var userName = "Shekhar Shete";
    '<%Session["UserName"] = "' + userName + '"; %>';
     alert('<%=Session["UserName"] %>');
}
</script>

Javascript를 사용하여 ASP.NET 세션 변수에 액세스 :

<script type="text/javascript">
    function GetUserName()
    {

        var username = '<%= Session["UserName"] %>';
        alert(username );
    }
</script>


답변

SessionJavaScript에서는 직접 액세스 할 수 없습니다 .

숨겨진 필드를 만들어 페이지에 전달한 다음 JavaScript를 사용하여 document.getElementById


답변

Javascript는 세션 값을 직접 설정할 수 없습니다. 자바 스크립트에서 세션 값을 설정하기 위해 다음과 같이 ajax 호출을 수행합니다.

온라인 확인

ASPx 파일 또는 html에서

 <script type="text/javascript">
 $(function(){
   //Getting values from session and saving in javascript variable.
   // But this will be executed only at document.ready.
   var firstName = '<%= Session["FirstName"] ?? "" %>';
   var lastName = '<%= Session["LastName"] ?? "" %>';

   $("#FirstName").val(firstName);
   $("#LastName").val(lastName);

   $('Button').click(function(){
     //Posting values to save in session
     $.post(document.URL+'?mode=ajax',
     {'FirstName':$("#FirstName").val(),
     'LastName':$("#LastName").val()
     } );
   });

 });

서버 측에서

protected void Page_Load(object sender, EventArgs e)
 {
      if(Request.QueryString["mode"] != null && Request.QueryString["mode"] == "ajax")
      {
        //Saving the variables in session. Variables are posted by ajax.
        Session["FirstName"] = Request.Form["FirstName"] ?? "";
        Session["LastName"] = Request.Form["LastName"] ?? "";
      }
 }

Shekhar와 Rajeev가 말한 것처럼 세션 값을 얻기 위해

var firstName = '<%= Session["FirstName"] ?? "" %>';

도움이 되었기를 바랍니다.


답변

이 시도

var sessionValue = '<%=Session["usedData"]%>'


답변

“클라이언트 측 JavaScript”를 의미한다고 가정하면 적어도 직접적으로는 불가능합니다.

세션 데이터는 서버에 저장되므로 클라이언트 측 코드는 서버와 통신하지 않고는 볼 수 없습니다.

액세스하려면 HTTP 요청을하고 서버 측 프로그램이 데이터를 수정 / 읽고 반환하도록해야합니다.


답변

코드 숨김 파일의 숨겨진 필드에 값을 할당합니다. 일반 HTML 컨트롤처럼 자바 스크립트에서이 값에 액세스합니다.


답변

에서 세션 측 세션 변수를 설정할 수 없습니다 Javascript. 이 작업을 수행하려면 AJAX POST 를 생성 하여 서버 에서이를 업데이트 해야 하지만 자동차 선택이 주요 이벤트 인 경우 POST를 수행하는 것이 더 쉬울 수 있습니다 .