首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >什么是ASP.Net MVC视图引擎?

什么是ASP.Net MVC视图引擎?
EN

Stack Overflow用户
提问于 2009-05-12 14:32:35
回答 2查看 3.9K关注 0票数 15

对于 MVC中的视图引擎,以及如何使用“自定义”引擎而不是“默认”引擎,还有很多问题。对我来说,作为一个爱好程序员,术语“查看引擎”是新的,我一直无法理解它的含义。所以,我的问题是:

  1. 什么是视图引擎?
  2. 视图引擎是做什么的,它在MVC模式中扮演什么角色?(与1.密切相关)
  3. 程序员希望通过切换到不同的视图引擎来更改/避免默认视图引擎的主要特征/属性是什么?
  4. 当开发人员选择使用与标准不同的引擎时,其他视图引擎的主要好处是什么?(我见过“星火视图引擎”这个名字很多次了,我敢打赌还有其他的)。
  5. 什么时候(在什么情况下)我想要开发我自己的视图引擎?

在这里,我想这是我(目前)想要的全部。给我查看引擎101!=)

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2009-05-12 15:07:53

“视图引擎”处理将视图呈现为html、xml或其创建以发出的任何内容类型。在"MVC“中,它将是视图(V)的一个方面。

不同的视图引擎有不同的语法等来管理呈现。使用另一个视图引擎的决定很可能是特定于项目/程序员的。在某些情况下,他们可能会看到默认视图引擎的实际或感知限制;在其他情况下,可能只是一个不同的设计目标或焦点。

至于斯派克,他们的重点是要比默认视图引擎简洁得多,尽量保持类似HTML的语法,而不是跳入ASP.NET脚本块。

作为最终用户,您唯一想要创建自己的视图引擎的时候可能永远不会。)这不是一个可以掉以轻心的任务,您可能最终会重新实现现有视图引擎中已经存在的功能。

编辑

好的。那么,View.aspx文件是视图引擎的一部分,还是视图引擎是帮助选择应该呈现哪种View.aspx (或其他类型的响应)的一组类?它是怎么工作的?

MVC模式告诉您,您的模型、视图和控制器将是独立的“事物”。在ASP.NET MVC中,默认视图引擎使用现有的ASP.NET框架,其中包括母版页、ASPX文件等。Spark做了一些类似的事情,但它是一个不同的引擎,因此它的工作方式不完全相同。因此,在一般意义上,视图文件不是特定于引擎的,而是特定的文件,它们在磁盘上的布局和内容是特定于视图引擎的。

票数 6
EN

Stack Overflow用户

发布于 2009-05-12 15:12:38

除了想要完全替换视图引擎(例如Spark)之外,您还可以使用自己的视图引擎来对默认视图引擎的行为进行小的更改。您可以通过创建一个从默认引擎继承并重写某些行为的新视图引擎来做到这一点。

一个常见的例子是调整视图引擎在硬盘上查找.aspx文件的位置。例如,您可能希望创建一个视图引擎,该引擎根据用户是否在移动设备上自动切换所使用的view.aspx文件。

有关此功能的一个非常好的示例实现,请参见带有ASP.NET MVC和移动浏览器定义文件的移动网站

更新:

Scott刚刚发布了一个与上面链接的初始实现相比有重要改进的更新的ViewEngine实现

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/853097

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档