我正在使用ASP.NET MVC应用程序。但是我无法理解在ASP.NET MVC页面中没有发布/没有回发的事实。怎么可能?除非发布数据,否则MVC框架如何操纵发布的数据。那么告诉ASP.NET MVC没有回发帖有什么意义呢。还有什么REST原则呢?
无法从我见过的网页内容中理解。谁能解释一下?
答案 0 :(得分:8)
ASP.NET帖子和ASP.NET MVC帖子之间的区别在于,在MVC中,您的页面不会经历ASP.NET的传统页面生命周期。相反,您的帖子将映射到单个方法进行处理。
MVC的部分吸引力在于它与传统ASP.NET的一些状态跟踪机制脱节。由于每个POST或GET都映射到一个单独的控制器和方法,因此跟踪视图状态等事情变得不那么必要了。
通过不回发尽可能多的状态信息和处理整个页面生命周期,post模型被正确地视为与传统Web表单不同的特征,但仍然依赖于我们熟悉的HTTP方法。
关于您关于REST的问题,您可以阅读维基百科的高级概述:http://en.wikipedia.org/wiki/Representational_State_Transfer
答案 1 :(得分:7)
ASP.NET MVC页面确实已发布。你需要意识到一个ASP.NET'回发',只不过是页面上主(唯一)表单的常规帖子。在MVC中,表单也发布(就像常规的html),但它们的主要区别在于它们发布到特定的控制器动作。
答案 2 :(得分:3)
MVC有帖子,而不是WebForm的回发概念。在WebForms中,一切都将返回到创建它的表单,该表单将处理事件,并在适用的情况下相应地重定向。至少在我看来,这是一个有点破碎的事件模型表示的Web开发。
另一方面,MVC将表单数据发布到服务器端的操作。任何你想要的动作,任何地方。该操作是处理该帖子的方法。不是此按钮的方法和该autopostback下拉列表的方法,而是处理该帖子并相应返回下一个视图的单个原子操作。