2011-08-19 54 views
1

我正在学习ASP.Net MVC的过程,我非常喜欢MVC给出的关注点分离,以及模型/视图/控制器开发理论!ASP.NET MVC为什么会回归到经典的ASP标记?

但是,我正在使用旧的< %% html的创伤性倒叙!我很难理解这是多么可怕的代码和调试!

为什么地球上的MS开发者回归到那种编码风格?

似乎ASP.Net控件在HTML标记中向前迈进了一步,但显然我错过了一大部分难题。

有人可以帮我理解ASP.Net WebForm风格的经典ASP风格标记对我们的好处吗?

感谢

+0

顺便说一下,您可以使用Razor而不是WebForms View Engine。 –

+0

看一看这个问题-http://stackoverflow.com/questions/381895/asp-net-mvc-reminds-me-of-old-classic-asp-spaghetti-code – ipr101

回答

1

如果你不喜欢这种语法那么我建议你使用Razor视图引擎(ASP.NET MVC 3)在您使用@代替<%: %>

我的猜测,为什么他们使用相同的语法是当它们最初开发ASP.NET MVC时可能编写的代码更少,并且许多用户不必学习新的语法。现在它已经出来了,他们引入了一个新的语法,Razor视图引擎更清晰。

+0

不错哦!我从一本使用VS2008的旧书中学习。我会检查剃刀。谢谢! – Scottie

1

您可以将其替换为另一个ViewEngine,从而使您的语法更加灵活。 MVC 3现在还带有Razor作为另一个预先包装的选项。要为您选择正确的View Engine,请查看this视频。

+0

不默认。你需要MVC3,这是最近的版本。 –

0

我认为基本思想是,如果框架促进视图与基础数据和业务逻辑之间的关注的良好分离,那么为您的视图提供动态标记样式即可。在糟糕的ASP时代,没有什么可以强制甚至推动这种分离,因此我们最终得到了非常非常混乱的代码。

0

如果你发现自己偶尔的循环题外话,如果......那么,和对象属性访问在您的标记,应只产生HTML的输出,那么你可能使用了错误的工具来做

许多人喜欢这样的敏捷脚本给你。它诞生于轨道上的红宝石嗡嗡声。您可以使其编译和类型安全,并且可以逐步完成编译“代码隐藏日”语言的所有优点。

至于asp.net/web表单。生命周期?查看状态?不用了,谢谢!