我在控制台应用程序中渲染Spark
模板,并尝试使用RenderPartial
,如下所示:
${Html.RenderPartial("_mypartial.spark", myData)}
但是我在编译视图时遇到了这个错误:
The name 'Html' does not exist in the current context
在Shared\_global.spark
我添加了此导入:
<use namespace="System" />
<use namespace="System.Web.Mvc" />
<use namespace="System.Web.Mvc.Html" />
<use namespace="System.Collections.Generic" />
<use namespace="System.Linq" />
否则其他所有内容都会很好,只是Html
没有定义。
它有所不同,我使用嵌入式NancyFX
引擎进行渲染。
答案 0 :(得分:1)
我认为问题不在视图内部。我不熟悉NancyFX引擎,但所有引擎视图都应该使用基本视图。默认位于views文件夹中的web.config:
<system.web.webPages.razor>
<host factoryType="System.Web.Mvc.MvcWebRazorHostFactory, System.Web.Mvc, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" />
<pages pageBaseType="System.Web.Mvc.WebViewPage">
当然,您不使用剃须刀,这只是Html
System.Web.Mvc.WebViewPage
上存在HtmlHelpers
的比较。如何配置NancyFX,配置需要定义支持<system.web.webPages.razor>
<pages pageBaseType="Nancy.ViewEngines.Razor.NancyRazorViewBase">
的配置(要么是MVC,要么是NancyFX,我不确定)。
拍摄look at Gibhub后看起来非常相似:
{{1}}
NancyRazorViewBase
has HtmlHelpers
on it所以听起来非常像配置问题。