TempData存储值

原创 Laughing  2017-10-26 22:19  阅读 45 次 评论 0 条

ViewDataTempDataViewBag比较

我们都知道ViewData、ViewBag的值是在一个action中进行传递的,当跨越action时,ViewData、ViewBag的值会自动清空的。但是TempData不同,TempData的值是能够跨越action传递的,但是TempData是通过Session的形式存储的,所以我们在刷新页面时,TempData的值会自动清空。

保留TempData的值

如果我们希望刷新时,不删除TempData的值,可以通过Keep()或者带参数的Keep()方法保留TempData的值。

DemoInput.cshtml
  1. @using(Html.BeginForm("CheckInput","CtoV")){  
  2. <div class="single-content">  
  3.     <div id="sc_blue">  
  4.     <input type="text" class="form-control"/>  
  5.     <span style="color:red">@TempData["Error"]</span>  
  6.     <input type="submit" id="submit" name="submit" class="btn btn-success"/>  
  7.     </div>  
  8. </div>  
  9. }  
  10. @*  
  11. @{  
  12.     TempData.Keep();  
  13. }  
  14. *@  
  15. @{  
  16. TempData.Keep("Error");  
  17. }  
CheckInput.cshtml
  1. @*  
  2.     For more information on enabling MVC for empty projects, visit https://go.microsoft.com/fwlink/?LinkID=397860  
  3. *@  
  4. @{  
  5. }  
  6. <h2>@ViewBag.Name</h2>  
CtoVController.cs
  1. using System;  
  2. using System.Collections.Generic;  
  3. using System.Linq;  
  4. using System.Threading.Tasks;  
  5. using Microsoft.AspNetCore.Mvc;  
  6. using NetCoreStudy.WebUI.Core;  
  7.   
  8. // For more information on enabling MVC for empty projects, visit https://go.microsoft.com/fwlink/?LinkID=397860  
  9. using System.ComponentModel.Design;  
  10.   
  11. namespace NetCoreStudy.WebUI.Controllers  
  12. {  
  13.     public class CtoVController : Controller  
  14.     {  
  15.         public ActionResult DemoInput(){  
  16.             return View();  
  17.         }  
  18.   
  19.   
  20.         public ActionResult CheckInput(string name){  
  21.             if(string.IsNullOrEmpty(name)){  
  22.                 TempData["Error"] = "Name不能为空";  
  23.                 TempData.Keep();  
  24.                 return RedirectToAction("DemoInput");  
  25.             }  
  26.             ViewBag.Name = name;  
  27.             return View();  
  28.         }  
  29.     }  
  30. }  
本文地址:https://www.lisen.me/tempdata-storage-value.html
版权声明:本文为原创文章,版权归 木子网 所有,欢迎分享本文,转载请保留出处!

发表评论


表情