我需要对Razor View引擎有所说服力。
据我所知,微软只是将内联代码重新引入标记;是不是最初为消除这个而引入的代码隐藏页面?
我假设(并希望)我遗漏了一些东西:)
答案 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应用程序的结构,所有数据处理应该在呈现视图时完成。