Asp.net mvc 什么时候我应该使用WebForms来提供我的用户想要的用户体验,而不是混乱的MVC?
我一直在使用MVC重新实现一个曾经使用WebForms构建的应用程序。我注意到的是:Asp.net mvc 什么时候我应该使用WebForms来提供我的用户想要的用户体验,而不是混乱的MVC?,asp.net-mvc,model-view-controller,Asp.net Mvc,Model View Controller,我一直在使用MVC重新实现一个曾经使用WebForms构建的应用程序。我注意到的是: MVC对于简单页面非常有效,这些页面不需要在请求之间维护大量状态。如果页面需要复杂度,那么页面遵守MVC的纯粹性很快就会变成一个泄漏的抽象,并在视图实现和控制器之间创建一个非常紧密的耦合。我对MVC的理解是,有一个控制器应该能够处理给定模型的多个视图,并且两者之间的分离非常清晰 我看到的另一个摩擦点是,MVC意味着业务规则可以通过模型的设计来实施(我很喜欢)。然而,当我构建我的应用程序时,我很快发现验证也应该在
因此,在进行UI设计和实施解决方案时,我应该如何考虑解决与经典WebForms方法不同的问题?还有梅森·迪克森(Mason Dixon)的路线是什么(它是否存在),我应该简单地使用WebForms来提供我的用户希望的用户体验,而不必创建混乱的MVC应用程序?MVC可以像WebForms一样维护状态。如果您确实需要,您仍然可以使用会话或MVC TempData 说你必须写国家管理的指标有点夸张。类似ViewState的实现实际上非常容易创建。ViewState的核心只是将状态信息序列化并加密到
字段中。使用MVCs模型绑定概念,这非常容易实现
你也应该考虑到MVC幻想,JavaScript的善良也变得更容易访问。事实上,在客户端浏览器上维护复杂的基于javascript的向导或类似页面要容易得多,您甚至不需要使用会话或临时数据
所有新的MVC开发人员在学习时最终都会遇到“状态管理墙”。MVC只是采取了一种不同的方法,你需要调整你的WebForms心态来应对。在这方面,学习如何实现javascript/ajax的模式和有效使用将非常有帮助 MVC对于WebForms开发人员来说只是异国情调和疯狂,但一旦你克服了一些学习障碍,你将真正开始像冠军一样飞翔和保持状态在何处实施验证是您的选择,而不是必需的。MVC帮助从元数据自动生成客户端验证,因此几乎没有重复。你还应该考虑在验证邮政编码和实际业务逻辑之间有很大的区别。 < P>你对MVC只适用于简单的页面是正确的。如果您正在制作真实世界的应用程序,那么您将添加Web窗体已经提供的大量自定义代码。为了让MVC应用程序像Web表单应用程序一样工作,您无论如何都放弃了MVC的所谓好处,并且在Web表单中堆积了一些据说不好的东西。MVC只是吸引不同开发人员的另一种方式,但实际上并没有为开发社区添加任何有价值的东西。视图-控制器耦合没有错,视图是为控制器服务的。我将使用xVal进行客户端验证,而不是服务器端代码。