ASP.MVC - ViewData

时间:2009-12-30 18:23:22

标签: asp.net asp.net-mvc webforms

MVC的ViewData是否等同于ViewState Webforms?

4 个答案:

答案 0 :(得分:5)

没有ViewData是ASP.NET MVC中的视图使用的信息集合。这是一种将附加数据传递给视图的方法,该视图不仅仅包含视图的模型。 ViewData不会发送到客户端,服务器在处理输出时将其用于发送给客户端。

WebForms中的ViewState是一种在回发之间维护状态的方法。 ViewState在客户端和服务器之间发送。

答案 1 :(得分:2)

视图状态存储在客户端上,并随每个请求发送回服务器。它用于向Web应用程序添加一种状态。

ViewData未存储或发送到客户端,并由服务器用于处理。您可以使用它从控制器向视图发送其他信息。

答案 2 :(得分:0)

不是,因为ViewState持久存储在表单字段中而ViewData不存在。因此,如果您在请求页面时在ViewData中放置了某些内容,那么期望您的控制器能够在该页面上的表单发布时将其恢复,它将不会存在。使用ViewState,它将是。

答案 3 :(得分:0)

不完全 - 在理论上mvc是无国籍的 - 但它们在使用上有一些相似之处。你能澄清一下你的问题究竟是什么吗?