我的客户端应用程序需要生成HTML。我想使用像Spark这样的模板/视图引擎解决方案,但我不确定Spark是否可以在ASP.NET应用程序之外使用。有没有人知道以这种方式使用Spark的任何样本或文档?
(如果您知道可以单独使用的其他视图引擎解决方案,我也很想知道这些。)
答案 0 :(得分:14)
除了其他示例,我在Spark源代码中找到了一个简单的例子。 Xpark项目是一个使用Spark转换XML的命令行应用程序。 Spark的创建者Louis DeJardin在他的博客上描述了how Xpark works。
相关的代码段是:
// Create an engine using the templates path as the root location
// as well as the shared location
var engine = new SparkViewEngine
{
DefaultPageBaseType = typeof(SparkView).FullName,
ViewFolder = viewFolder.Append(new SubViewFolder(viewFolder, "Shared"))
};
SparkView view;
// compile and instantiate the template
view = (SparkView)engine.CreateInstance(
new SparkViewDescriptor()
.AddTemplate(templateName));
// render the view to stdout
using (var writer = new StreamWriter(Console.OpenStandardOutput(), Encoding.UTF8))
{
view.RenderView(writer);
}
这足以让我指出正确的方向。但我肯定会深入研究其他例子。
答案 1 :(得分:3)
您应该查看Docu,此项目使用Spark视图引擎生成HTML文档(而不是ASP.NET Web应用程序)。
但请注意,我不知道该项目是使用Spark版本1.0,它可能是早期版本。
答案 2 :(得分:1)
不确定。可能最完整的示例是查看ASP.NET MVC本身的Spark视图引擎代码。
它也在测试中,所以阅读测试应该会给你一个很好的起点。
答案 3 :(得分:1)
如果它对其他人有帮助,我需要在MVC项目之外使用Spark引擎来完成类似的事情
我创建了一个使用Spark视图引擎进行简单模板操作的示例(非常简化)C#项目。也许有人可以用它作为起点/耸肩
http://jezel.googlecode.com/files/SparkTemplateExample.zip
我的大多数模板代码都是基于审查Jonas Gauffin's C# WebServer项目,他以类似的方式将Spark Engine用于模板。
答案 4 :(得分:0)
参见以下示例: https://github.com/SparkViewEngine/spark/tree/master/src/Samples/DirectUsage
不幸的是,这些似乎需要System.Web.Mvc,我宁愿不参考。