Access Session variables in JavaScript

前端 未结 4 646
北海茫月
北海茫月 2021-01-04 20:44

I wanted to access a session variable in javascript in asp.net mvc application. I have found a way to do it in aspx view engine but not in razor.

Please tell me a wa

相关标签:
4条回答
  • 2021-01-04 20:59

    For google searchers,

    In addition, If you want to access the session variable in external .js file you can simply do like this,

    ------ 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> 
    

    Inside NewFile.js

    $(document).ready(function () {
        alert(mySessionVariable);
    });
    
    0 讨论(0)
  • 2021-01-04 21:00

    I personally like the data attribute pattern.

    In your Razor code:

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

    In your javascript:

    var value = $("#myDiv").data('value');
    
    0 讨论(0)
  • 2021-01-04 21:06

    You can do it this way for a String variable:

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

    Or like this if it's numeric:

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

    This is really not a very clean approach though, and requires inline JavaScript rather than using script files. Be careful not to get carried away with this.

    0 讨论(0)
  • 2021-01-04 21:11

    In my asp.net I am not getting the result by

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

    But I get the answer by below code,

    <script type="text/javascript">
    
         var yourVariable = '<%= Session["SessionKey"] %>';
    
    </script>
    
    0 讨论(0)
提交回复
热议问题