在JavaScript中访问会话变量

Roy*_*tin 9 javascript asp.net asp.net-mvc session razor

我想在asp.net mvc应用程序中访问javascript中的会话变量.我已经找到了一种在aspx视图引擎中执行此操作但不在剃刀中的方法.

请告诉我一种访问会话变量的方法

Yuc*_*uck 21

你可以这样做String变量:

<script type="text/javascript">
    var someSessionVariable = '@Session["SomeSessionVariable"]';
</script>
Run Code Online (Sandbox Code Playgroud)

或者像这样,如果是数字:

<script type="text/javascript">
    var someSessionVariable = @Session["SomeSessionVariable"];
</script>
Run Code Online (Sandbox Code Playgroud)

这实际上不是一个非常干净的方法,并且需要内联JavaScript而不是使用脚本文件.小心不要被这个带走.


Moe*_*eri 7

我个人喜欢数据属性模式.

在你的Razor代码中:

<div id="myDiv" data-value="@Request.RequestContext.HttpContext.Session["someKey"]"></div>
Run Code Online (Sandbox Code Playgroud)

在你的javascript中:

var value = $("#myDiv").data('value');
Run Code Online (Sandbox Code Playgroud)