代码之家  ›  专栏  ›  技术社区  ›  Asad

学习Asp.NETWebForms或Asp.NETMVC

  •  10
  • Asad  · 技术社区  · 16 年前

    这可能是个骗局,但我找不到一个直截了当的答案。如果一个人要开始学习.NETFramework上的web开发,他应该选择哪种技术?

    • Asp.Net MVC

    着眼于这三个方面

    • 复杂性
    • 特征

    用C语言编写了一些WinForms程序#

    谢谢

    4 回复  |  直到 16 年前
        1
  •  5
  •   JonathanTien    16 年前

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

    但是,如果您正在创建大量需要快速交付的内部web应用程序,那么Webforms无疑是一种更好的方式,它有很好的文档记录和成熟,并且控件允许您免费构建强大的功能。尽管您可以在MVC中获得基本的模板来操作数据,但它远没有在Webforms中构建应用程序那么快。

    我个人的建议是学习MVC(以及它的模式),因为它不太依赖于微软的专有组件,它会让你在前端思考你的应用程序以及它与后端的交互。

    如果你想要一个大型MVC站点的好例子。。。你在上面。。stackoverflow在ASP.NET MVC上运行。

    希望这有帮助,这是一个非常普遍的意见,并有更多的两个论点。然而,从个人经验来看,我认为MVC将教会你更多可重用的标准web技术。

    乔恩

        2
  •  6
  •   mtmk    7 年前

    重要更新(2019) :如果您仍在考虑是否使用webforms;答案是绝对否定的。看看新的 ASP.NET technologies 坚持 .NET Core 应该 使用.NET内核和C#。


    这可能是 fairly controversial

    所以,除非你想通过支持webforms的旧安装(有点像COBOL—hold you horses webforms fans:)赚钱(同样完全是个人观点,有点小题大做),否则我绝对会强烈建议使用Asp.Net MVC;)。当然我不知道网络表单的最新发展( especially 4.0 ones ),所以您可能也要等待这些。。

    编辑: 如果你认为过去的winforms经验会成为使用webforms的优势或理由(我认为这是微软开发人员的主要卖点),那么你在一周内是对的,在接下来的时间里是错的。在webforms和winforms中都有控件。相似之处到此为止。事件模型是完全不同的,线程是完全不同的,你甚至不能开始比较渲染等等。这实际上是webforms的主要问题;试图在完全不同的架构上看起来像winforms。

        3
  •  3
  •   Egor Pavlikhin    16 年前

    在WebForms上找工作要容易得多,而且MVC目前似乎还没有进入生产环境。如今,更复杂的应用程序必然会使用MVC,较小的应用程序很可能更喜欢WebForms,但请记住,较小的应用程序代表了就业市场的大部分。

    不管是哪种方式,学习两者都不会有什么坏处,或者至少掌握WebForms并在MVC上投入更多(因为它最终会迫使您学习通常与之相关的其他技术:nHibernate/Entity、DDD、TDD等等)。此外,您可以在MVC中使用许多控件,只需很少或根本不需要调整,尽管心态非常不同。

        4
  •  1
  •   this. __curious_geek    16 年前

    对这个问题的确切答案是不可能的,但我可以通过突出两种技术的一些事实和要点来帮助您做出决定。

    Web表单已经存在很久了,所以在及时完成任务方面,它们比mvc更加成熟和可靠!与mvc相比,web表单的web知识库甚至要大得多。

    Web表单在功能上非常丰富,可以让您更好地控制想要做什么、如何做。MVC作为一个轻量级的应用程序开发平台有其自身的优点。

    stackoverflow.com是使用asp.net mvc平台构建的。

    推荐文章