有关用mvc做的网站,大家可以试试:http://www.tita.com?inviteUserId=F59EBD084D66B898A748A4E7DE281303
controll 向view传值 ,下面介绍二种方式
- ViewData与TempData属性来向View页传值
- 通过ViewData.Model来传值
1.ViewData与TempData属性来向View页传值
在HomeControll下新整两个方法(action),一个是index,另一个about.如下:
然后在生成相应的index.aspx和about.aspx 页面:
两个页面中的代码分别是:
执行后打开index页面,显示:
点连接 进入about 页面后 ,页面为空白。
结论:ViewData 和 TempData 的值都传到了index页面,都没有传到about页面
接下来我们把index页面中的 ( ) 这几句话去掉,在打index页面后,点连接进入about页面,发现about页面中有值了,值为: 这里显示tempdata
结论:TempData 可以跨页面传值,而且只能读一次,ViewData不能跨页面传值
看到TempData 这个样子,大家是不是想起了Session,但又和Session不同... 呵呵...
2.通过ViewData.Model来传值
通过页面继承System.Web.Mvc.ViewPage<Model>这种试在MVC开发中会经常用到,其中的Model就是由Controller传到View的对象
在页面一开始处有如下代码,其中的product就是一个对象:
a.我们先Models文件夹下添加文件 Product.cs
b.HomeController中的index方法内容为:
c.生成Index页面
在index方法上右键,选择( ),然后按图上1-2-3-4操作所示
,添加index页面:
在页面代码中真接可用Model来操作数据,而且有智能提示, 页面代码如下,:
页面效果:
提示:
如果需要一次传多个实体类到view上,可以把多个类封装到一个类中,在传到view上。
完成