Asp.net ASP MVC中没有viewstate或回发?

Asp.net ASP MVC中没有viewstate或回发?,asp.net,asp.net-mvc,postback,viewstate,Asp.net,Asp.net Mvc,Postback,Viewstate,我学习MVC已经有一段时间了,我想我非常理解它的意义。但有一件事我还不明白:我一直听说MVC没有viewstate和postback 有人能简单地解释一下这意味着什么吗? 评论/问题后的额外信息: ASP.Net web窗体可以使用viewstate在页面上存储服务器控件的状态,并管理服务器端事件的调用,如按钮单击。其想法是提出一种类似于Win Forms方法的编程模型,使Win Forms开发人员更容易转换和淘汰基于浏览器的应用程序。要深入了解它,您应该点击谷歌,了解asp.net页面的生命周

我学习MVC已经有一段时间了,我想我非常理解它的意义。但有一件事我还不明白:我一直听说MVC没有viewstate和postback

有人能简单地解释一下这意味着什么吗?

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

ASP.Net web窗体可以使用viewstate在页面上存储服务器控件的状态,并管理服务器端事件的调用,如按钮单击。其想法是提出一种类似于Win Forms方法的编程模型,使Win Forms开发人员更容易转换和淘汰基于浏览器的应用程序。要深入了解它,您应该点击谷歌,了解asp.net页面的生命周期,它将解释整个过程,并解释viewstate处理的适用范围

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


MVC不使用/不需要viewstate或回发,因为它是一种不同的编程模型。对于任何给定的项目,哪一个更好/更合适是一个大的争论,我将让其他人讨论,因为我认为两者都有各自的优势,并且在不同的场景中都是有用的(尽管我个人现在主要使用MVC…)。你是对的,事情做得不同。。。您不能只使用web表单模仿的简单事件驱动方法,但是MVC有许多自己的优势,您可以在无数比较web表单和MVC的博客文章中找到这些优势

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

一样获取您的值,谢谢您的链接。我查过了,但我还是很困惑。似乎张贴在该链接上的海报已经知道视图状态是什么。我不明白的是ASP.NET如何需要视图状态而ASP MVC不需要。这是否意味着在ASP MVC中有些事情我做不到,或者只是做了一些不同的事情?如果“viewstate”数据没有出现在MVC中,它将不得不保存在其他地方,我猜它是一个服务器。但是,您必须管理/记住用户的每个“状态”,我假设您将在缓存中执行此操作。那么您会为每个用户生成一个令牌吗?你能详细说明一下吗?@Chris W你能回答我的问题吗?@RoyiNamir“viewstate”不是你在MVC中使用的东西-它不需要保存在其他地方,它根本不存在。您可能会混淆ViewState和Session state,因此我建议您仔细阅读这两种状态,了解它们的区别。会话状态仍然可供您在MVC应用程序的服务器上使用-或者,如果您希望使用您选择的密钥将条目绑定到特定用户,您可以使用其他类型的缓存,但最合适的选择将在很大程度上取决于您的应用程序的要求。不,我不会混淆它们:-)。我只是问,如果没有登录,您将在哪里保存UI的状态更改。您必须以某种方式跟踪该用户。。。。您将在何处保存其ui更改?一场