MVC中页面传值的几种方式总结

      之前做项目的时候,只知道MVC页面间传值有三种方式,分别为:ViewBag、ViewData、TempData,也知道如何使用它,但是并不知道三者之前的区别,这里强调一点,TempData可以用于Action与Action之间的传值,而ViewBag和ViewData只适用于Controller到View(即:Action)的传值。

      以下将详细介绍三种传值方式。

一、Controller-->View

 在action中我们将字符串保存在ViewData或ViewBag 中,值得注意的是:ViewData只对当前Action有效,ViewBag在Asp.Net 3.0以上才可以使用

控制器中代码:

[csharp]  view plain  copy
  1. public ActionResult(string Type)  
  2. {  
  3.     ViewData["str1"]= "这是一个字符串";
  4.      ViewBag.str2="这是另外一个字符串";
  5.      return View();  
  6. }</span>  
视图中代码:
[html]  view plain  copy
  1. <div>            
  2.    <h1>@ViewData["str1"]</h1>
  3.     <h1>@ViewBag.str2</h1>
  4. </div>  

二、Action-->Action

    获取要传递到视图的临时数据.使用时,需要注意TempData的生命周期,只在第一次请求Action时临时数据存在,之后自动变为NULL,使用TempData和使用ViewData方法是一样的,不同的是它可用于在不同的Action之间传值。

[csharp]  view plain  copy
  1. public class MVCController : Controller    
  2. {       
  3.     public ActionResult Index1()    
  4.     {    
  5.         TempData["name"] = "韦文文";                
  6.         return View();    
  7.     }    
  8.     
  9.     public ActionResult Index2()    
  10.     {    
  11.         string strName = TempData["name"].ToString()    
  12.         return View();    
  13.     }  
  14. }



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值