MVC_3种数据传递方式

MVC中控制器和视图之间的三种数据传递方式总结:

1、ViewData

     只能在一个动作方法中设置,在相关的视图中获取,只对当前视图有效。

     使用方法:

     model中:ViewData["test"] = "test";

     XX.apsx中:<%=Html.Encode(ViewData["test"]) %> 或者 <%: ViewData["Message"] %>

2、TempData

     可以在多个方法或者多个页面中设置、读取。TempData只能在控制器中传递一次,每个元素只能被访问一次,访问后被删除。

     TempData实质上是保存在session中,每次读取都是从session中获取并删除。

     使用方法:

     model中:TempData["TMessage"] = "测试TempData";

     XXaspx中:<%: TempData["TMessage"] %>

3、model传递

     model传递数据可以解决强类型数据传递。通过view()方法传递实例化对象到视图中。

     model:var model = new uerList {new user{name ="name1",age="12"},new user{name="name2",age="23"}};

                return View(model);

    XXaspx:<% foreach item in model {%>

                处理

                <%}%>

SP:

   传递多个数据对象的方法:

   创建一个类,将多数据组合进新类中,在model中传递新类的实例即可。

   model: NewClass nc = new NewClass();

                nc.names= userlist;

                nc.salys = salysList;

                return View(nc);

   XXaspx:<% foreach item in model.names {%>

               处理

     <%}%>

       

转载于:https://www.cnblogs.com/Clivia/archive/2011/04/28/MVC001.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值