asp.net mvc框架之TempData的使用


在SendRedirect客戶端重定向或者驗證碼等場景下,由於要跨請求的存取數據,是不能放到ViewBag、Model等中,需要"暫時存到Session中,用完了刪除"的需求:實現起來比較簡單:

存入:

Session["verifyCode"]=new Random().Next().Tostring();

讀取:

String code=(string)Session["verifyCode"];

if(code==model.Code)

{

  //

}

asp.net mvc中提供了一個TempData讓這一切更簡單。

在一個Action存入TempData,在后續的Action一旦被讀取一次,數據自動銷毀。TempDta默認就是依賴於Session實現的,所以Session過期后,即使沒有讀取也會被銷毀。

應用場景:驗證碼

通俗的講:就是在設置好TempData的值后,讀取了一次TempData,第二次再去讀取,就會失效。

public ActionResult ViewTest()
        {
            TempData["code"] = "123456";
            return View();
        }

        public ActionResult TempDataTest()
        {
            string str = (string)TempData["code"];
            return Content("code=" + str);
        }

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM