在 cshtml 中,我们如何获取 session 的呢?
首先我们先设置 session 值,我们一般都会在 Controller 设置 session。
Session["isAdmin"]="false";
设置session实例:
那么我们在 cshtml 中直接取就好:如下取值是没用的,因为 Session["isAdmin"] 取到的是一个对象。
<input type="text" name="name" value="@Session["isAdmin"]" />
我们需要把它转化为对应的类型,如 String 或者 对象之类的。我们需要转化一下。
<input type="text" name="name" value="@Session["isAdmin"].ToString()" />
转化是非常有必要的,不转化您将看不到您要的值。可能你想在 js 中使用 session 那么,您可以先在 cshtml 中定义一个变量来装改值。
实例如下:
<script> var isAdmin = "@Session["isAdmin"].ToString()"; </script>
然后您在控制台直接调用就好!
这里重要的还是两点,第一点是转化问题,第二点 session 不能直接在 js 中获取。但您使用 ajax 也行。那像我们在 cshtml 中,获取session 直接用还是很方便的!
那么我在 cshtml 中使用 session 时,会说“未将对象引用设置到对象的实例。” 可能也是因为session没设置有值导致的哦。