您的位置:首页 > 其它

MVC_3种数据传递方式

2011-04-28 21:41 225 查看
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 {%>

处理

     <%}%>
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: