"名称' Html'在当前背景下不存在"例外

时间:2014-04-29 02:48:44

标签: asp.net-mvc spark-view-engine nancy

我在控制台应用程序中渲染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引擎进行渲染。

1 个答案:

答案 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所以听起来非常像配置问题。