学习Asp.Net WebForms或Asp.Net MVC

Asa*_*sad 11 .net asp.net-mvc webforms

这可能是一个骗局,但我找不到直接的答案.如果一个人即将开始通过.Net框架学习Web开发,他应该选择哪种技术?

  • Asp.Net WebForms
  • Asp.Net MVC

牢记这三个方面

  • 未来的范围
  • 复杂
  • 特征

注意:使用C#做了一些WinForms编程

谢谢

ziy*_*iya 6

这可能是相当有争议的 :)

我的个人意见是; 停止投资webforms(这是一个破碎的网络模型)并学习Asp.Net MVC,这样您不仅可以生成设计良好的Web应用程序,还可以在Web上的其他地方使用您的知识.MVC让您了解HTTP,HTML和其他底层"Web基础架构",为您提供更好的成功结果.

因此,除非你想赚钱(再次完全个人意见,用一点点盐)支持旧的网络形式安装(有点像COBOL - 抱着你的马webforms粉丝:))我肯定会强烈建议Asp.Net MVC ).当然,我不知道webforms(特别是4.0)的最新发展,所以你可能也想等待它们.

编辑:如果您认为过去的winforms经验将成为使用webforms的优势或争论(我认为这是微软开发人员的主要卖点),那么对于其他人来说,你是正确的约一周而错时间.在webforms和winforms中你都有控件.相似性在那里结束.事件模型完全不同,线程完全不同,甚至无法开始比较渲染等.这实际上是webforms的主要问题; 试图在完全不同的架构上看起来像winforms.


Jon*_*ien 5

正如大多数人会说我确信,这很大程度上取决于你想要学习什么以及你想要的发展方式.如果你想要对页面标记进行大量控制并打算使用大量的AJAX和CSS,那么MVC是一种更好的方法,最大的折衷就是你失去了微软的控件,比如Gridview和其他拖放组件.MVC是一个非常强大且可扩展的框架,并且学习它还可以让您学习MVC模式(如果您以后将技能多样化到其他开发平台,这将非常有用).

但是,如果您正在创建需要快速交付的大量内部Web应用程序,那么Webforms肯定是一种更好的方法,它具有良好的文档和成熟性,并且控件允许您免费构建强大的功能.虽然您将获得在MVC中操作数据的基本模板,但它并不像Webforms中的构建应用程序那样快.

我个人的建议是学习MVC(以及它的模式),因为它没有很大的依赖专有的微软组件,让你在前面思考你的应用程序,并与后端进行交互.

如果你想要一个很好的MVC站点的例子......你就可以了..在ASP.NET MVC上运行stackoverflow.

希望这会有所帮助,这是一个非常普遍的观点,两个论点都有很多.但是从个人经验来看,我认为从长远来看,MVC将教你更多可重复使用的标准网络技术.

再见

乔恩