asp.net-mvc - 抽象 : Should I choose ASP. 基于 Web 表单的 Net MVC 或

标签 asp.net-mvc webforms comparison dynamic-data

关闭。这个问题是opinion-based .它目前不接受答案。












想改善这个问题吗?更新问题,以便可以通过 editing this post 用事实和引文回答问题.

7年前关闭。



Improve this question




我已经使用 web 超过 7 年了,我已经从 html->ASP->ASP.Net 升级到了 ASP.Net 本身的新风格。我去年开始使用 MVC,但由于截止日期和 MVC 所涉及的复杂性,我不能。现在,再次有一个新的升级 - 我已经开始使用 ASP.Net DD(动态数据)模板(最新的模板,它为数据库表提供支架并提供列表、详细信息、编辑和删除向导)。
当我深入研究时,我了解到它基于 MVC,因此我将使用 MVC(通过 DD)来构建我的 Web 应用程序。我已经查看了很多 MVC 和 Web-Forms 之间的文章和比较视频。即使在 SO 上也有很多主题,我的抽象链接在下面的引用部分。事实上,MVC 被证明是一种更“可控”和“可扩展”的 Web 开发模式,然而,正如一些人所说,Web 表单仍然存在于它旁边(例如用于构建大量数据驱动的应用程序等。即 Sharepoint)

My web solutions are for supply-chain (user has to login to proced) and so I don't need the features of SEO or other things useful for a typical web. To simplify, I do some inventory maintenance (view, add/edit, delete & link) screens and a few complex screens like parent-child Grids & some tabular layouts. The goal remains to keep things simple yet appealing and @ the core we've performance & usability (most work with least clicks)


所以,这里有几个 我的疑惑 作为 MVCian 新手:
  • Web 表单是事件驱动的,而 MVC 将通过 Controller 中定义的操作来执行此操作
  • 无论我使用 L2S 还是 EF,我的业务逻辑都在模型中(也由部分类扩展)
  • URL 路由将使我的能力超越传统的查询字符串方法
  • 我将能够通过使用多个 View (即部分 View 和用户控件)来呈现我的级联复杂表格布局和网格
  • 诸如小计,总计等之类的东西。 View 中可以进行某种计算(希望 View 可以相互共享/传递数据)
  • 一些时髦的 GUI 功能,如 Frozen Grid-header/footer、滚动行、选项卡 View 等......不会让我看到一个凌乱的 View (或者至少这在干净/有组织的方式中是可行的)
  • 我不会真的有一个“Viewstate”——在这种情况下,在哪里存储临时数据?如当前页面索引、排序顺序等。
  • 我担心 MVC 可能会导致流程冗长的复杂\冗长的系统。我会迷路吗?如果我组织得好,它是否可扩展?

  • 实际上,还有更多,但我希望基于上述问题,您的专家可以弄清楚我工作的网络应用程序类型,因此我只想开始投资更好的东西。不能每 6 个月更改一次架构/方法!
    DD 是否使 MVC 隐式?那么如何使用web-form控件呢?对不起,如果我感到困惑,在这种情况下,请纠正我!(大多数工作,点击次数最少)
    最后,这是一个解决方案吗 :http://www.hanselman.com/blog/PlugInHybridsASPNETWebFormsAndASPMVCAndASPNETDynamicDataSideBySide.aspx

    另请参阅编辑部分。
    引用网址:(希望这能帮助像我这样的人)
    小号 关于 MVC over web-froms 的一些很好的引用 &比较-
    http://forums.asp.net/t/1459417.aspx (MVC 优于设计良好的 Web 表单应用程序的好处)
    http://www.matthidinger.com/archive/2010/02/17/why-i-love-asp.net-mvc.aspx
    洞里着火:-)
    http://codebetter.com/blogs/karlseguin/archive/2010/03/11/webforms-vs-mvc-again.aspx
    http://www.codethinked.com/post/2010/0
    http://www.codethinked.com/post/2010/01/22/Controls-Do-Not-Make-You-More-Productive.aspx

    关于这场辩论的更多观点:

    v.good article: http://msdn.microsoft.com/en-us/magazine/dd942833.aspx

    Summary of above: http://mvark.blogspot.com/2009/08/aspnet-mvc-vs-web-forms.html


    http://www.asp.net/mvc/tutorials/asp-net-mvc-overview--cs
    http://weblogs.asp.net/shijuvarghese/archive/2008/07/09/asp-net-mvc-vs-asp-net-web-form.aspx
    http://codebetter.com/blogs/karlseguin/archive/2010/03/11/webforms-vs-mvc-again.aspx
    来自 SO:
    http://stackoverflow.com/questions/30067/
    http://stackoverflow.com/questions/361620/asp-net-mvc-vs-webforms-for-first-page-load-speed-for-big-projects/
    http://stackoverflow.com/questions/712220/whats-your-choice-for-your-next-asp-net-project-webforms-or-mvc/
    http://stackoverflow.com/questions/661181/asp-net-mvc-vs-webforms/
    http://stackoverflow.com/questions/1035642/asp-net-mvc-vs-webforms-speed-and-architecture-comparison/
    http://stackoverflow.com/questions/837831/mvc-versus-webforms/
    

    编辑#1:
    感谢专家的意见和审查。我想分享我的一些屏幕 - 如果有人有兴趣让你知道我一直在使用的 GUI 功能和网格级联的类型 -
    alt text
    alt text
    alt text
    请不要将我与新手网络 dvpr 混淆。我很有经验,我只需要知道(比如我说“我会迷路吗”)是否可以实现功能丰富的 GUI 以及您在做这些事情方面的经验..希望有帮助:-)

    最佳答案

    I'm afraid MVC might lead to a complex\lengthy system where the flow is lengthy. Will I get lost? Is it scalable if I organize well?



    嗯,部分原因取决于您掌握技术的速度。

    总体而言,ASP.NET MVC 与任何 WebForms 解决方案一样具有可伸缩性,而且根据我有限的经验,可能更是如此。您必须记住,MVC 是一种并不新鲜的模式——它已被应用程序开发人员使用多年。尽管 ASP.NET MVC 使它很容易做到,但它对 Web 开发来说甚至都不是什么新鲜事,这是它的吸引力之一。

    ASP.NET MVC 的一些传统优势,例如可测试性,在使整个项目更易于维护和更快构建方面大有帮助。我在一周内构建了我的第一个 ASP.NET MVC 网站,连接到几年前开发的库,但提供了一个前端 Web 界面。真的就是这么简单。

    你问的问题:“我会迷路吗?”真的取决于您和您正在开发的应用程序,但只有您可以回答这个问题。您确实必须愿意花时间学习和理解 MVC...因为您来自 WebForms 背景,所以会有您不熟悉的变化。

    无论哪种方式,我个人都推荐使用 MVC,但是,一如既往,这取决于您的项目需求。

    更新 :我自己在 MVC 方面的经验非常积极。我知道并理解 WebForms 只是因为过去几年使用它,但我最近在我的公司开始了一个项目,因为我有选择我希望使用的技术的余地,我决定这会很有趣在 Web 应用程序中尝试 MVC 模型(Web 应用程序是必需的)。我和我的团队在桌面应用程序中拥有 MVC 的经验,但我们都缺乏一般的 Web 开发经验(作为一个整体)。

    ASP.NET MVC 体验非常流畅,对我的团队来说是一个轻松的过渡。我为团队订购了一些书籍,我们花了一些时间来加快我们的理解,然后我们开始开发(在这一步之前需求已经完成——我们在实现阶段)。就像我之前说的那样,花了一周时间,我们已经取得了巨大的飞跃——生产力过去和现在都非常高。我对 MVC 模型非常满意。

    您似乎担心 MVC 模型会导致您的应用程序变成一堆糊状物,或者变得难以维护。总的来说,这与事实相去甚远。分离关注点的整个想法使 MVC 成为应用程序可伸缩性以及提高其可维护性和可测试性的理想选择。话虽如此,应用程序的发展在很大程度上取决于您的团队对 MVC 范式的理解以及他们作为开发人员的技能。 MVC 是 不是 对于每个人,也不是每个项目。关于可伸缩性,还有许多其他因素需要考虑,这些因素与 MVC 无关(例如,数据库的设计具有巨大的影响 - 可能比您选择的任何开发范式都多)。我个人喜欢 ASP.NET MVC,并且有很好的使用经验,但是您必须考虑项目的所有方面(团队成员、分配的时间、预算等)才能做出最终决定。

    关于asp.net-mvc - 抽象 : Should I choose ASP. 基于 Web 表单的 Net MVC 或,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3778455/

    相关文章:

    c# - 发送从动态表生成的 JSON 字符串时发布的空数据

    asp.net-mvc - 找不到 CrystalImageHandler.aspx

    asp.net-mvc - 隐藏未从 View 模型中获取正确的值

    asp.net - 隐式本地化、强类型资源、App_LocalResources 和嵌入式资源

    java - 比较两个不相关对象的字段

    javascript - ApiController返回Json结果无法解析,为什么数据类型:"json"不起作用?

    javascript - ASP.NET WebForms 路由 Javascript 错误

    c# - 从 ASP.NET WebForms 重定向到 MVC

    javascript - JS日期比较是如何工作的?

    bash - 你能在 bash 中的变量赋值中进行比较吗?