Asp.net mvc NET MVC让我想起了古老的经典ASP意大利面代码

Asp.net mvc NET MVC让我想起了古老的经典ASP意大利面代码,asp.net-mvc,view,coding-style,asp-classic,Asp.net Mvc,View,Coding Style,Asp Classic,在查看了这个网站一段时间后,我刚刚浏览了一些MVC教程。这只是我的问题,还是MVC视图页面带来了经典ASP意大利面代码的可怕闪回,HTML和ASP.NET的跳进跳出到处都是黄色分隔符,让人无法阅读?代码/设计分离的重要性发生了什么变化??直到教程出现在“查看页面开发”部分,我才真正了解这项新技术 还是我遗漏了什么?(不要说你可以使用模板来帮助你,因为它只是把意大利面移到另一个地方——把它扫到地毯下面——它并不能解决问题)请参阅杰夫的帖子()回应你的问题,以及罗伯·科纳利的回答() 总之,ASP.

在查看了这个网站一段时间后,我刚刚浏览了一些MVC教程。这只是我的问题,还是MVC视图页面带来了经典ASP意大利面代码的可怕闪回,HTML和ASP.NET的跳进跳出到处都是黄色分隔符,让人无法阅读?代码/设计分离的重要性发生了什么变化??直到教程出现在“查看页面开发”部分,我才真正了解这项新技术

还是我遗漏了什么?(不要说你可以使用模板来帮助你,因为它只是把意大利面移到另一个地方——把它扫到地毯下面——它并不能解决问题)

请参阅杰夫的帖子()回应你的问题,以及罗伯·科纳利的回答()


总之,ASP.NET MVC为开发人员提供了一个选择,即直接攻击自己,尽管很可能做到干净利落。因此,它适合于熟悉web开发且风格简洁的开发人员,但不适合那些希望在winforms中实现Widgetized行为而不必深入研究标记的开发人员。

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

就个人而言,我喜欢对视图的额外控制。我在webforms上的大部分时间似乎都花在了试图绕过默认假设(以及主/子页面引入的名称混乱)上,这使得在客户端做任何事情都很困难


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

这是在PDC上提到的,他们确实提到了它有点太“经典ASP”,就像所有的都是关于分离关注点的。在经典的ASP中,它是业务逻辑和表示逻辑的混合体,为库添加了令人讨厌的包含


语法在这一点上是相似的,但目的并非如此。在视图中,您应该只执行表示逻辑。您仍然可以将业务逻辑放在其中,没有什么可以阻止您(不幸的是)。这取决于开发人员,这仍然是我最关心的问题。

如果您不喜欢默认的视图引擎,可以使用另一个

根据:

团队使用ASP.NET MVC所做的一件事是确保您可以使用任何类型的“视图引擎”。这为自定义渲染引擎提供了很大的灵活性

我们将在未来研究更多的declarative视图引擎,尽管目前还没有具体计划


我们将对备选视图引擎的示例进行讨论、讨论和讨论。

MVC与通用ASP.NET的对比,比如自动变速器和手动变速器之间的区别。如果您想确定使用哪个档位、何时换档以及优化效率,请使用手册。如果您希望某些东西能够正常工作,但可能无法很好地优化、灵活或易于调试(您不需要经常这样做),请使用自动


经典的ASP是一种只有二档的手动变速器。

我认为ASP.NET视图引擎的问题在于,它对您的操作没有限制,因为它只是嵌入在XHTML中的一种.NET语言

相比之下,请看一看。在Django框架中,控制器和模型使用成熟的Python语言编写,但是视图模板引擎定义了一种受限语言,它只提供基本的编程构造(条件、循环等)。这种受限语言类似于Python,但实际上不是Python,因此它不能像外部库那样调用任意代码。它只能访问传入视图的模型数据


任何嵌入通用语言的视图引擎都会出现问题,人们会滥用它并在视图中做不应该做的事情。因此,对于这些引擎,您确实需要进行尽职调查,以限制自己执行除访问模型数据以外的其他操作。

Finlay Microsoft正在使用ASP Classic到ASP.NET步骤纠正他的错误。 70%的老asp程序员选择了PHP,因为asp.NET太复杂了

他们认为一切都可以通过ASP.NET药物和下拉菜单解决。最后一切都在表单中标签!我们正在构建大的“web表单”,而不是web站点。只要看看任何ASP.NET网站上的HTML即可。太可怕了


ASP.NET MVC是更干净、更有组织的HTML代码和功能强大的业务逻辑的新希望。

查看视图引擎,它看起来很漂亮、干净。

因为MVC背后的人非常喜欢ASP/JSP页面,并希望重新实现它。他们似乎憎恨:

  • 视图状态
  • 现有ASP.Net控件
  • 干净的Html
  • 现有用户控件
  • 回帖
他们似乎喜欢:

  • 重新发明轮子
  • 剩余URL
MVC本质上是一种将代码与表示分离的方法。如果开发人员真的足够关心,这可以通过普通的Asp.Net轻松实现。不管怎样,还是有可能把整个“分离”系统搞砸的,所以我真的不明白这有什么意义

尽管如此,它还是有一些优点的。。但这还不足以解决问题。我相信MVC版本3一定会很棒

在任何人留下痕迹之前