ASP MVC中没有viewstate或postback?

时间:2010-12-30 10:09:32

标签: asp.net asp.net-mvc postback viewstate

我已经学习了一段时间的MVC,我想我完全理解它的全部内容。但有一点我还不明白:我一直听MVC没有viewstate也没有postback。

有人可以用简单的术语解释这意味着什么吗?

2 个答案:

答案 0 :(得分:3)

Try this SO answer which addresses the same question.

评论/问题后的额外信息:

ASP.Net Web表单可以使用viewstate来存储页面上的服务器控件的状态,并管理服务器端事件的调用,例如按钮单击。这个想法是提出一个类似于Win Forms方法的编程模型,以使Win Forms开发人员更容易转换并淘汰基于浏览器的应用程序。要深入了解它,您应该访问谷歌并了解asp.net页面生命周期,它将解释整个过程并解释视图状态处理适合的位置。Here's a pretty good explanation

ASP.Net MVC是一种不同的编程模型,它使用不同的视图引擎来生成标记 - 即实际流回浏览器客户端的内容。在某种程度上,它消除了Web表单引入的许多“魔力”,但作为回报,您可以生成更多标准标记,并可以更好地控制将向客户端呈现的内容。如果您正在学习MVC,请查看NerdDinner示例章节,这是一个很好的教程以及MVC音乐商店。这些都是做MVC的好介绍。

MVC不使用/需要viewstate或postbacks,因为它是一个不同的编程模型。哪个更好/更适合任何给定的项目是一个很大的辩论,我会让其他人拥有,因为我认为两者都有自己的优势,并且可以在不同的场景中有用(虽然我个人现在主要使用MVC ......)。你是对的,事情是以不同的方式完成的......你不能只使用网络形式模仿的简单事件驱动方法,但MVC有很多自己的优势,你可以在无数的博客文章中找到比较webforms vs MVC。

答案 1 :(得分:0)

MVC没有viewstate和session,但您可以使用TempData Object而不是viewstate。 在您的控制器中,您可以像TempDate["MyKey"]="My Value"一样进行绑定,在下一个请求中,您可以像String s=TempData["MyKey"]

那样获取您的价值