大家好,今天我们继续讨论Controller技术,今天和大家交流ViewData和TempData技术。
ViewData:
ViewData执行响应结果时,可以在利用ControllerBase类的ViewData属性存储临时数据,
好让这些数据能在视图中显示出来。ViewData属性是一个ViewDataDictory类,
下面是一个它的源文件代码:
可用于存储任意对象的数据,但存储的键必须是字符串,ViewData有一个特性,
就是它只会存在于当前的HTTP请求中,而不像session一样可以将数据存储在下一个
HTTP请求中。
6.7.2 TempData
TempData和ViewData一样,属于字典类,属于tempDataDictory,如图:
但是TempData有一点不同的是,它内部是Session机制,它是暂存的意思,1次请求数据后即刻消失,我们
举例说明,当窗口数据被传送到以下Action中存储时,如果发生新建数据失败,但是为了保证新传送的数据
能够保留至下一个页面,此时,只希望出现一次的数据保存就在Tempdata中,
当新建数据发生异常失败时,将返回Create这个action,并将原来的数据从TempData中读出,实例:
6.8 模型绑定
ASP.NET MVC 采用模型绑定来解析由客户端传递过来的数据,而解析工作全部由DefaultModelBulider来完成,大多数情况下,
DefaultModelBulider可以完成工作,只有极少数不能完成。
6.8.1简单模型绑定:
当页面上有一个"uname"字段的input,而action参数也定义了一个名为"uname"的字符串参数,