在 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沒設置有值導致的哦。