.net的 mvc裏視圖傳遞數據的三種方式tempdata,session,cache

三種視圖傳遞數據的方式:tempdata,session,cache,都是鍵值對的形式,其中tempdata是一次性的,用過一次就失效了。

tempdata的用法:

    支持跨視圖訪問,賦值語句tempdata["name"]="張三";使用的時候tempdata["name"]就可以。

session的用法:

先要引入幾個命名空間:using Microsoft.AspNetCore.Http;,using Microsoft.AspNetCore.Mvc;,using Microsoft.Extensions.Caching.Memory;用視圖來獲取viewbag裏的數據,另外要在startup.cs的ConfigureServices方法里加入            services.AddSession();,在Configure的方法里加入     app.UseSession();
 

    //用sessinon來設定數據
            ISession sess = HttpContext.Session;
            sess.SetInt32("age", 99);
            sess.SetString("name", "jery張");
            //也可以直接設定session數據
            HttpContext.Session.SetString("mm", "李四");

 

   //用sessinon的方式獲取數據
            ISession sess = HttpContext.Session;
            int? age = sess.GetInt32("age");//有可能爲空
            string name = sess.GetString("name");
            ViewBag.age = age;
            ViewBag.name = name;
            ViewBag.name2 = HttpContext.Session.GetString("mm");

 

cache的用法:     

//用注入的方法來設定cache
            _cache.Set("age3", 10);
            _cache.Set("name3", "小明");

 

    //獲取cache數據
            ViewBag.age3 = _cache.Get<int>("age3");
            ViewBag.name3 = _cache.Get<string>("name3");

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章