asp.net-mvc - Razor 生成器生成操作

标签 asp.net-mvc

我给:

RazorGenerator

一试。快速入门指南提到将构建操作切换为“无”。然而,这意味着这些观点没有发表。构建操作“内容”是否正确,因为它允许发布?

谢谢。

最佳答案

Razor Generator 背后的目的是它预编译您的 Razor View ,将您的 cshtml 文件中的标记转换为在呈现 View 时执行的 C# 代码。

如果您将 View 的自定义工具属性设置为 RazorGenerator,这可能会在设计时发生,当您保存 View 时。或者,它可以通过集成 Razor Generator MSBuild 目标在构建时发生。

正如您所提到的,如果没有 Razor Generator,您通常会将 View 的构建操作设置为“内容”。当第一次请求 View 时,在运行时解析标记,并在动态生成的程序集中提供编译 View 。如果您使用 Razor Generator,则无需复制标记,因为编译的 View 已经是您的 Web 程序集的一部分。这就是为什么您可以在 View 中将构建操作设置为“无”。

其他细节:

  • Razor Generator 通过将其自己的 PrecompiledMvc​​Engine 添加到 ViewEngines 集合来扩展 ASP.NET MVC。这用于在请求时定位已编译的 View 。

  • PrecompiledMvc​​Engine 有一些属性,如果设置了这些属性,引擎将检查 View 是否存在于磁盘上,如果它比预编译 View 更新则使用它在装配中。这在设计时很有用,这样您就可以看到对 View 所做的更改,而无需重新构建所有内容。

关于asp.net-mvc - Razor 生成器生成操作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9022286/

相关文章:

html - .NET MVC 无法使用删除标记布置图像

asp.net-mvc - 确定 Controller 的OnException中的结果类型

c# - 将图像转换为不同格式后,应用程序不断返回空文件

asp.net-mvc - 将依赖项注入(inject)自定义模型绑定(bind)器并使用 InRequestScope 使用 Ninject

c# - 如何为 Web API Controller 编写单元测试

c# - asp.net mvc 可以自动生成时间戳到 js 代码吗?

asp.net-mvc - 请推荐为 MVC 网格实现内联编辑的方法?

javascript - 如何使用 ASP.NET MVC 通过 Ajax 将选中的行发送到服务器?

c# - 在联结表中插入记录 asp.net MVC 4 Entity Framework 6

asp.net-mvc - MS Expression Web(和其他Web编辑工具)中的Asp.net MVC