我想知道一件事 - 我们知道,MVC模式是无状态的(它不使用ViewState,所以我们只使用HTML控件),但是如果我们在WebForms中也使用它们,它会变得无国籍?那么,通过这样做,我们越来越接近MVC模式了?
答案 0 :(得分:5)
我认为你接近MVC的一个方面,但它仍然是一个日夜差异。
MVC基本上是关于模型视图控制器模式,而不是用于编写代码的控件类型。除非你在webforms中实现MVC模式(人们在ASP.NET MVC发布之前做了很多)并且从webforms中的回发模型迁移出来,否则你的平台仍然会有很大不同。
如果您想这样做,那么只需使用ASP.NET MVC即可。
答案 1 :(得分:3)
ASP.NET WebForms也是无状态的。所有HTTP通信都是。 ViewState只是一种通过隐藏的表单字段来保留某些状态的方法,这些字段的值是“编码的。”
没有什么可以阻止你在MVC中创建自己的隐藏字段,使其“有点有状态”。
答案 2 :(得分:1)
不,我们不在ASP.NET MVC中使用HTML控件。我们使用HTML帮助器。这有很大的不同。
答案 3 :(得分:1)
我认为你对无国籍意味着什么感到困惑。 所有 Web开发都是无状态的,只要服务器将页面发送到客户端然后忘记它。
.NET试图通过使用ViewState和Session使其“更容易”,但MVC和Web Forms是无状态的。
答案 4 :(得分:0)
MVC是一种架构模式。它可以在任何语言/框架/环境中实现(尽管有些使其比其他语言更容易。)
答案 5 :(得分:0)
我不知道为什么当微软用ASP.NET MVC在ASP.NET中实现MVC时,你会尝试将MVC应用于webforms ...
答案 6 :(得分:0)
与任何软件模型一样,基本原则之间不一定存在硬性定义。多年来,我一直在开发WebForms中松散的MVC实现的应用程序。
缺少 伪状态 (我不会在WebC中给予WebForms实际状态,网络 无状态)它是ASP.NET实现的许多方面之一,它是不实际MVC模式的一部分。
除此之外,我还可以看到为什么人们会错过Web控件并希望在MVC中使用它们。但是为什么要在WebForms中使用HTML帮助程序?如果你愿意做这种类型的基础工作,那么你可能应该使用MVC。