首先我要说的是,我对Asp.net 的经验很少,这就是为什么这个问题在某些部分可能会令人困惑。
我首先创建了 https://code.visualstudio.com/Docs/ASPnet5通过 yo aspnet
的 MVC6 项目。然后我将这一行添加到 project.json 中的“依赖项”
"Microsoft.Framework.ConfigurationModel.Xml": "1.0.0-beta4",
"System.Web.NHaml.Mvc3": "4.0.8",
然后我用 this Google code content 创建了 haml.xml并在 Startup.cs 文件中扩展以下行:
var configuration = new Configuration()
.AddJsonFile("config.json")
.AddXmlFile("haml.xml")
.AddJsonFile($"config.{env.EnvironmentName}.json", optional: true);
这是我的 Controller 的样子:
public class HomeController : Controller
{
public IActionResult Index()
{
return View(@"~/Views/Shared/Test.haml");
}
}
应用程序启动了,但我无法呈现操作,这是浏览器中显示的错误
An unhandled exception occurred while processing the request.
InvalidOperationException: The view '~/Views/Shared/Test.haml' was not found. The following locations were searched: ~/Views/Shared/Test.haml. Microsoft.AspNet.Mvc.Rendering.ViewEngineResult.EnsureSuccessful () [0x00000] in , line 0
但是这个文件确实存在于这个目录中。感谢任何提示或帮助。
赏金编辑:
基本上我想要的是一个非常非常简单的 MVC 5 或 6 项目的详细解释或工作示例,该项目使用 NHaml 或任何其他提供 Haml 语法的库(如果它与 osx 上的 Mono 一起工作,那是一个奖励)。坦克很多!
最佳答案
我想说的是 Haml 不支持 MVC5 和 MVC 6
因为 Haml View 引擎项目可能是 discontinued .最后一次提交出现在 2013 年 2 月 25 日。HAML View 引擎问题今天也没有解决 itself .Haml View 引擎的最后一次发布在nuget在 2013 年 2 月。所以这没有意义。
所以你改为使用 Spark View engine它也支持 Mono..
Also spark have support "left-offset" syntax inspired by frameworks like Jade and Haml
项目文档是 here
您还安装了来自 Nuget 的二进制文件
Spark 还提供配置 View 引擎的示例。
祝你好运......
快乐编码。
关于c# - 如何在 Asp.net MVC 6 中使用 NHaml(找不到模板错误),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30965608/