gpt4 book ai didi

asp.net - 是否可以在 asp.net 之外使用 Razor View Engine

转载 作者:行者123 更新时间:2023-12-03 04:48:40 25 4
gpt4 key购买 nike

如果我查看 Razor View 引擎,我会看到一个非常漂亮且简洁的语法,它与生成 html 并不特别相关。所以我想知道,在“正常”.net 环境中使用 asp.net 之外的引擎(例如生成文本、代码等)有多容易?

欢迎任何指针、示例、评论或解释。

最佳答案

这里有两个问题:

  1. 是的,您可以在 ASP.NET 应用程序域的上下文之外运行 Razor View Engine,如 Andrew 的博客中所述:http://vibrantcode.com/blog/2010/11/16/hosting-razor-outside-of-aspnet-revised-for-mvc3-rc.html
  2. 但是,Razor 仍然主要专注于生成类似 xml 的标记(例如 HTML),因为 Razor 解析器使用 <tags> 的存在。确定代码和标记之间的转换。您可能可以使用它来生成任何文本,但当您的输出与 Razor 对您的意图的假设不匹配时,您可能会遇到问题。

例如,虽然这是有效的 Razor 代码(因为 <div> 标签):

@if(printHello) {
<div>Hello!</div>
}

以下代码片段无效(因为 Hello! 仍被视为代码):

@if(printHello) {
Hello!
}

但是有一个特殊的<text>可用于强制多行 block 转换的标签(<text>标签将不会被渲染):

@if(printHello) {
<text>Hello!
Another line</text>
}

还有一种更短的语法可以使用 @: 强制单行转换。 :

@if(printHello) {
@:Hello!
}

关于asp.net - 是否可以在 asp.net 之外使用 Razor View Engine,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3628895/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com