Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/asp.net-mvc/15.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Asp.net mvc 什么是ASP.NETMVC视图引擎?_Asp.net Mvc_Viewengine - Fatal编程技术网

Asp.net mvc 什么是ASP.NETMVC视图引擎?

Asp.net mvc 什么是ASP.NETMVC视图引擎?,asp.net-mvc,viewengine,Asp.net Mvc,Viewengine,关于ASP.NETMVC中的视图引擎,以及关于使用“自定义”引擎而不是“默认”引擎,有很多问题。作为一名业余程序员,“视图引擎”这个术语对我来说是新的,我一直无法理解它的含义。因此,我的问题是: 什么是视图引擎 视图引擎做什么,它在MVC模式中扮演什么角色?(与……密切相关) 程序员希望通过切换到不同的视图引擎来更改/避免默认视图引擎的主要特征/属性是什么 当开发人员选择使用不同于标准的视图引擎时,他们所追求的其他常见视图引擎的主要好处是什么?(我已经多次看到“Spark View Engine

关于ASP.NETMVC中的视图引擎,以及关于使用“自定义”引擎而不是“默认”引擎,有很多问题。作为一名业余程序员,“视图引擎”这个术语对我来说是新的,我一直无法理解它的含义。因此,我的问题是:

  • 什么是视图引擎

  • 视图引擎做什么,它在MVC模式中扮演什么角色?(与……密切相关)

  • 程序员希望通过切换到不同的视图引擎来更改/避免默认视图引擎的主要特征/属性是什么

  • 当开发人员选择使用不同于标准的视图引擎时,他们所追求的其他常见视图引擎的主要好处是什么?(我已经多次看到“Spark View Engine”这个名字,我打赌还有其他名字)

  • 什么时候(在什么情况下)我想开发自己的视图引擎

  • 在这里,我想这就是我(现在)想要的。给我查看引擎101!=)

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

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

    就Spark而言,他们的重点是比默认的视图引擎简洁得多,并尽可能保持类似HTML的语法,而不是放入ASP.NET脚本块中

    作为最终用户,您希望创建自己的视图引擎的唯一时间可能是永远不会这不是一项轻率的任务,您可能最终会重新实现现有视图引擎中已经存在的功能

    编辑


    嗯。View.aspx文件也是其中的一部分吗 视图引擎,或是视图引擎 帮助选择的一组类 哪个View.aspx(或其他类型的 回答)应该提供什么?怎么 它有用吗


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

    除了希望完全替换视图引擎(例如Spark),您还可以创建自己的视图引擎,只是为了对默认视图引擎的行为进行一个小的更改。您可以通过创建一个新的视图引擎来实现这一点,该引擎继承默认引擎并覆盖某些行为

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

    请参阅,以获取此实现的一个非常好的示例

    更新:


    Scott刚刚发布了一篇文章,与上面链接的最初实现相比,它有了重要的改进。

    如果这是社区wiki,请让我知道。好的。那么View.aspx文件是视图引擎的一部分,还是视图引擎是一组帮助选择应该呈现哪个View.aspx(或其他类型的响应)的类?它是如何工作的?