TempData的使用 同ViewData和ViewBag一样,TempData也可以用来向视图传递数据。只是ViewData和ViewBag的生命周期和View相同,只对当前View有用。而TempData则可以在不同的Action中进行传值,类似webform里的Seesion。如下: public ActionResult Index() { ViewBag.hello
1、ViewData和TempData是字典类型,赋值方式用字典方式,ViewData["myName"] 2、ViewBag是动态类型,使用时直接添加属性赋值即可 ViewBag.myName 3、ViewBag和ViewData只在当前Action中有效,等同于View 4、TempData可以通过转向继续使用,因为它的值保存在Session中。但TempData只能经过一次传递,之后会被系统自动清除 5、View...
但是TempData集合的每个条目访问一次后就从字典表中删除。 也就是说TempData的数据至多只能经过一次Controller传递。 并且每个元素至多只能访问一次。 3、ViewBag ViewBag 是 MVC3 新增语法,ViewBag 不再是字典的键值对结构,而是 dynamic 动态类型,它会在程序运行的时候动态解析。
ViewBag 获取动态视图数据字典 作用:给视图传递数据,不需要转换类型,由系统动态解析,比ViewData执行性能要差 ViewData 获取或设置视图数据的字典 给视图传递数据,需要转换成相应的类型,编写没有ViewBag方便,可读性强 TempData 临时数据的字典 给控制器或视图传递数据,需要和ViewData一样进行类型转换,可以在多个控制器或页...
在ASP.NET MVC中,页面间Controller与View之间主要有以下几种小量数据的传值方式:ViewData、ViewBag、TempData和Session变量。 下面就这四种传值方式做出详细介绍。 一、ViewData ViewData是一个继承自ViewDataDictionary类的Dictionary对象,它只能存储String Key/Object Value字典数组。
Access parent view model in partial view as model Access ViewData or TempData from ActionFilter / OnActionExecuting Accessing Controller Action Method of Another MVC project in the same solution Accessing EditorFor values in javascript function Accessing ViewData in View $.ajax Action Filters Not Firing...
When to use ViewBag, ViewData, or TempData in ASP.NET MVC 3 applications (Rachel Appel) ASP.NET MVC: Partial rendering and AjaxAttribute (Stuart Leeks) Creating an ASP.NET MVC View by Calling Multiple Actions Creating Page Layouts with View Master Pages (tutorial on the ASP.NET Web site)...
ViewBag:相当于ViewData,但是内在的实现却完全不一样。 ViewBag存放的不是键值对数据,而是dynamic动态类型数据。 TempData:默认保存在Session中,控制器每次请求从Session中获取TempData,然后清除Session。基于这样的事实,在每次请求结束后,TempData的生命周 期同时结束。
先说View属性,设置此属性就可以自定义要跳转的错误视图页,否则一旦有异常抛出,默认会跳转到Error.cshtml这个页面,该页面路径为:~/Views/Shared/Error.cshtml。 设置View属性一定要注意路径问题,如果跳转的异常信息页面属于其他控制器,即控制器路由地址不同,那么一定要用完整的相对路径,否则引发二次异常:未找到视图**或...
先说View属性,设置此属性就可以自定义要跳转的错误视图页,否则一旦有异常抛出,默认会跳转到Error.cshtml这个页面,该页面路径为:~/Views/Shared/Error.cshtml。 设置View属性一定要注意路径问题,如果跳转的异常信息页面属于其他控制器,即控制器路由地址不同,那么一定要用完整的相对路径,否则引发二次异常:未找到视图**或...