Razor倒退了吗?

时间:2011-09-26 11:31:50

标签: c# .net asp.net asp.net-mvc razor

我需要对Razor View引擎有所说服力。

据我所知,微软只是将内联代码重新引入标记;是不是最初为消除这个而引入的代码隐藏页面?

我假设(并希望)我遗漏了一些东西:)

4 个答案:

答案 0 :(得分:13)

Razor不是用于在您的视图中编写业务逻辑。 Razor用于迭代模型并将其转换为html。您的业​​务逻辑在控制器中,甚至在WebForms视图引擎中,您只使用更详细的语法进行相同的循环。 Razor语法更清晰。它没有带来任何其他东西。

答案 1 :(得分:2)

razor最适合与MVC一起使用。是的,它确实重新引入了内联代码。但它是关于代码的分离。

您的剃刀代码中不应包含任何逻辑。它真的应该用来简单地将你的数据放到一个页面上(少量的逻辑,例如,如果Data = True,那么本节是否正常)

但所有业务逻辑仍在您的控制器/代码隐藏

答案 2 :(得分:2)

我认为您应该首先开始研究ASP.NET MVC。没有(或不应该)任何代码隐藏。

然后将Web窗体视图引擎与Razor View Engine进行比较。这应该对你有帮助。

答案 3 :(得分:2)

Razor是通过摆脱庞大的<% %>并允许您通过委托创建自己的渲染方法来使页面更具可读性。

如果通过为处理准备好的数据提供简洁的缩写,它可以让您查看看起来像更像HTML,鼓励您不要使用内联代码来处理数据太多。

视图中完成的所有操作都应与渲染有关,无论是否使用Razor语法。

正如其他答案所指出的那样,要了解MVC应用程序的结构,所有数据处理应该在呈现视图时完成。