Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/asp.net-mvc/16.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
ASP.NET MVC在某些方面是一种倒退吗?_Asp.net_Asp.net Mvc - Fatal编程技术网

ASP.NET MVC在某些方面是一种倒退吗?

ASP.NET MVC在某些方面是一种倒退吗?,asp.net,asp.net-mvc,Asp.net,Asp.net Mvc,我要求不要开始任何消极的事情。相反,在看了ASP.NET MVC之后,我突然意识到(duh),我不是在使用webforms上的控件,而是手工编写html标记(gasp.) 这是倒退吗?我记得从经典的asp到asp.net,拖放控件,创建bll等等。现在我似乎是在手动完成所有这些,就像经典一样,只是我有很好的mvc设计 我想我是想弄明白为什么这是一个从快速开发环境向更乏味环境的转变 编辑: 我一直认为Visual Studio.NET是使用ASP.NET及其所有控件和自动化的一个重要原因。现在有了

我要求不要开始任何消极的事情。相反,在看了ASP.NET MVC之后,我突然意识到(duh),我不是在使用webforms上的控件,而是手工编写html标记(gasp.)

这是倒退吗?我记得从经典的asp到asp.net,拖放控件,创建bll等等。现在我似乎是在手动完成所有这些,就像经典一样,只是我有很好的mvc设计

我想我是想弄明白为什么这是一个从快速开发环境向更乏味环境的转变

编辑:


我一直认为Visual Studio.NET是使用ASP.NET及其所有控件和自动化的一个重要原因。现在有了MVC,这让我觉得它就像其他任何一个有像样IDE的MVC一样,因为我现在用手做所有事情。

我认为这是朝着正确的方向迈出的一步,但它远没有WebForms那么成熟。我希望不久就能看到商业“控制”库,尽管它不会是拖放式的东西

另外,在我看来,如果你在视图引擎中使用WebForms,你就没有抓住要点。

  • “经典”ASP.NET还没有发展到任何地方-如果您想要或需要它,您仍然可以使用它
  • 尽管您可能会或可能不会获得“拖放”功能,但在AutoComplete和各种渲染帮助程序之间,您可以在几分钟内轻松获得工作视图
  • 创建视图只是整个项目的一小部分
  • 即使在ASP.NET中,我也很少使用可视化编辑器。我总是觉得它妨碍了我,为我做了错误的决定

  • 告诉我吧。我仍在努力弄清楚为什么我要让自己受这种折磨。最终,1号销售是单元测试。对于我们这些不同意这一观点的人来说,IMHO的好处是很少的

    也就是说,我愿意被说服。我认为MVC是一个很好的基础,但是就像你说的,它有时非常乏味。工具箱中的RAD拖放控制系统过去很糟糕,但从vs2008开始,这是一件非常愉快的事情。我希望Telerik、Infrastics、ComponentOne等主要工具包供应商很快就会推出MVC友好的工具包(我希望如此!)

    我之所以学习它,是因为我目前正在做一个基于它的项目(不是我的设计)。别忘了你不必使用它。经典ASP.NET并没有消失。:)

    -Oisin是向前迈出的一步:

  • 该代码是完全可测试的
  • 您可以完全控制服务器正在生成的内容
  • 没有更多的视图状态
  • 提高服务器响应速度
  • 减少服务器cpu负载,无需WebForm的页面生命周期
  • 更接近web的编程模型(webforms旨在将桌面编程模型引入web)

  • 我认为ASP.NETMVC框架的一部分要点是让开发人员能够更好地控制HTML。拖放控件把一些东西弄得一团糟。

    有趣的是,你应该提到这一点-我刚刚读完“”中回答这个确切问题的一章

    他们在书中比较了Web表单和MVC之间的区别,以及领导乐队和创作歌曲之间的区别。MVC没有提供与web表单相同级别的即时响应,但是它确实提供了许多web开发人员所期望的粒度级别。众所周知,ASP.NET控件,即使在其更高版本中,也会注入比预期更多的HTML


    所以,从功能上说,这是一种倒退,但这仅仅是因为你被赋予了对页面内容的完全控制权。一如既往,为工作选择正确的语言。

    这是一个横向的步骤,而不是向前或向后;只是做同样事情的另一种方式,有不同的重点。使用ASP.NET表单,很容易“绘制”页面,使其看起来与您希望的大致相同,但很难使其表现为正确的web应用程序。有了ASP.NET MVC,将它的外观组合起来并不容易,但实际上更容易使它表现得像一个网站,URL以一种可预测的方式描述返回的内容。

    对我来说,摆脱viewstate和页面生命周期是一种加减法。()更不用说,由于我不得不“弄脏”我的手,这对我的web编程知识是一个好处。

    有些人可能会说ASP.Net是一个倒退,因为它可以通过锁定您使用预构建控件来限制应用程序的灵活性

    经典的ASP还不成熟,但它确实为您提供了对标记代码的细粒度控制,许多人发现在普通的ASP.Net中缺少这种控制


    在我看来,ASP.Net MVC范例使开发人员能够更紧密地控制加价,同时仍然可以访问.Net framework的所有优点。

    ASP.Net MVC不适合所有人或每个应用程序(有些人可能会争论到这一点!)。MVC是一个框架,您可以使用它的基本形式,也可以扩展到您的内容。它允许您完全控制呈现给用户的内容

    MVC有许多优点:

    关注点的分离带来了更好的可测试性、更好的设计和更易于修改的UI

    对呈现内容的完全控制—这可以生成符合标准、更小、更快的页面

    Clearn SEO友好的URL,尽管ASP.net 4具有路由功能

    以最纯粹的形式,不使用会话负载平衡

    它也有一些缺点:

    需要学习曲线和思维变化

    缺乏第三方支持,尽管这将有所改变

    页面可能看起来杂乱无章


    开发某些类型的控件可能会更困难,例如,像可重新排序的数据网格之类的控件,或者像向导之类的具有许多步骤的控件,我认为这是一个必要的倒退,或者更好的方法是回溯