web-dev-qa-db-ja.com

JavaScriptでセッション変数にアクセスする

Asp.net mvcアプリケーションのjavascriptのセッション変数にアクセスしたかった。 aspxビューエンジンでそれを行う方法を見つけましたが、カミソリではできません。

セッション変数にアクセスする方法を教えてください

9
Roy Justin

String変数に対してこの方法で行うことができます:

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

または、数値の場合は次のようになります。

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

ただし、これは実際にはあまりクリーンなアプローチではなく、スクリプトファイルを使用するのではなく、インラインJavaScriptが必要です。これに夢中にならないように注意してください。

21
Yuck

個人的にはデータ属性パターンが好きです。

Razorコードで:

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

あなたのjavascriptで:

var value = $("#myDiv").data('value');
7
Moeri

私のasp.netでは、私は結果を得ていません

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

しかし、私は以下のコードで答えを得る、

<script type="text/javascript">

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

</script>
1
shridhar

Google検索の場合

また、外部.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> 

内部NewFile.js

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