【发布时间】:2011-02-17 21:02:19
【问题描述】:
我有一个 ASP.NET MVC2 应用程序,我在其中尝试使用 Spark 视图引擎从输入字符串呈现,例如:
"!{Html.ActionLink(\"A Link\", \"Index\")} Followed by some text"
我在尝试使用 HtmlHelpers 时遇到了问题。 spark编译器返回错误'The name 'Html' does not exist in the current context'。完整方法如下:
public ActionResult Index()
{
var templates = new InMemoryViewFolder();
var engine = new SparkViewEngine() { ViewFolder = templates };
var stringResult = new StringBuilder();
stringResult.AppendLine("!{Html.ActionLink(\"A Link\", \"Index\")} Followed by some text");
templates.Add("string.spark", stringResult.ToString());
var descriptor = new SparkViewDescriptor().AddTemplate("string.spark");
var view = engine.CreateInstance(descriptor);
var result = new StringBuilder();
StringWriter sw = new StringWriter(result);
view.RenderView(sw);
return Content(result.ToString());
}
如果我在 Views 文件夹中创建一个 Index.spark 文件,使用 System.Web.Mvc.ViewEngines 并从那里使用 HtmlHelpers,我已经成功了,所以我猜我的设置缺少一些东西SparkViewEngine 在上面的 Index 方法中。
我无法将这些内容放入文件中,因为我将在运行时组装它们。
提前感谢您!
【问题讨论】: