ASP.NET MVC让我想起旧的经典ASP意大利面条代码

Ric*_*chC 26 asp.net-mvc coding-style view asp-classic

我刚刚检查了这个网站一段时间后,我刚刚完成了一些MVC教程.它只是我,还是MVC View页面带回了经典ASP意大利面条代码的可怕闪回,所有跳入和跳出的HTML和ASP.NET都带有黄色分隔符,无法读取?什么事情发生在代码/设计分离的重要性?在教程点击View页面开发部分之前,我真的被新技术所推销.

或者我错过了什么?(并且不要说你可以使用模板来帮助,因为它将意大利面条移动到另一个位置 - 将它扫到地毯下 - 它不能解决问题)

Jim*_*mmy 24

请参阅Jeff的帖子(http://www.codinghorror.com/blog/archives/001155.html),它回应了您的问题,以及Rob Conery的回复(http://blog.wekeroad.com/blog/asp-net-mvc-避免标签汤/)

总而言之,ASP.NET MVC为开发人员提供了在脚下拍摄自己的选择,尽管它可以干净利落地完成.因此,它适合那些熟悉Web开发并且风格简洁的开发人员,但是对于那些希望Widgetized行为不需要深入研究标记的开发人员而言,它并不适合.


Gra*_*ner 8

如果您不喜欢默认的View引擎,则可以使用另一个.

根据Scott Guthrie的博客:

团队使用ASP.NET MVC完成的任务之一是确保您可以使用任何类型的"视图引擎".这为您自定义渲染引擎提供了很大的灵活性.

我们将来会调查一些更具声明性的视图引擎 - 尽管还没有特别规划.

替代视图引擎实例NHaml讨论这里,星火讨论这里NVelocity讨论在这里.


小智 8

Finlay Microsoft正在使用ASP-Classic向ASP.NET步骤纠正他的错误.70%的旧asp程序员使用PHP,因为ASP.NET很复杂.

他们很难说一切都可以通过ASP.NET药物和下拉菜单来解决.最后一切都在表格标签内!我们正在构建大型"网络表单"而不是网站.只需查看任何ASP.NET站点的HTML即可.绝对可怕!

ASP.NET MVC是新的HOPE,用于更清晰,更有条理的HTML代码和强大的业务逻辑.


dkr*_*etz 6

MVC与通用ASP.NET一样,自动和手动传输之间的区别.如果您想确定哪个档位用于哪个目的,何时换档以及优化效率,请使用手册.如果你想要一些正常工作但可能没有很好地优化,灵活或易于调试的东西(你不需要经常这样做),请使用自动.

经典ASP是一款只有二档的手动变速箱.

  • 我说Classic ASP是一款手动变速器,只有中性(当事情好的时候)和Reverse(所有其他时间) (2认同)

tva*_*son 5

不同之处在于,在 MVC 中,视图所做的唯一事情就是渲染显示。所有业务逻辑、I/O 处理和模型相关代码都可以在控制器和模型类中找到。视图中的代码量相对较小且紧凑——如果常用,您可以将其抽象为用户控件(部分视图)。

就我个人而言,我喜欢对视图的额外控制。我在 Web 表单上的大部分时间似乎都花在尝试解决默认假设(以及主页面/子页面引入的名称修改)上,这些假设使得在客户端执行大部分操作变得困难。

编辑:我忘了提及创建 HtmlHelper 扩展方法的能力,该方法也可以让您将很多内容移动到后端。总而言之,在控制器、模型和扩展方法之间,它增加了更多的代码,这些代码在 MVC 中比在经典 ASP 或 ASP.NET WebForms 中更容易测试。