5

我在我的 asp.net mvc 应用程序中使用 spark 视图引擎。在我的 aspx 页面中,我可以成功使用 Html.Actionlink,但是当我在 spark 文件中尝试它时,它不会出现在智能感知中,并且当我尝试运行它时,我得到:

动态视图编译失败。c:\Users\midas\Documents\Visual Studio 2008\Projects\ChurchMVC\ChurchMVC\Views\Home\Index.spark(73,25): 错误 CS1061: 'System.Web.Mvc.HtmlHelper' 不包含可以找到“ActionLink”并且没有扩展方法“ActionLink”接受“System.Web.Mvc.HtmlHelper”类型的第一个参数(您是否缺少 using 指令或程序集引用?)

我确实引用了 system.web.mvc,并且我在 _global.spark 中添加了。这些都没有帮助。有任何想法吗?

4

3 回答 3

9

(复制自 Rei Roldán 在Spark 讨论组中的回答)

这是帮手们住的地方。

<use namespace="System.Web.Mvc.Html" />
于 2009-07-07T01:17:41.727 回答
4

通过使用错误的参数类型声明 ActionLink,即使使用正确的 Web.config,也可能出现此错误。

例子:

<%= Html.ActionLink(1, "bar") %>

错误:

Compiler Error Message: CS1928: 'System.Web.Mvc.HtmlHelper<Approval.WebSite.ViewsModels.HomeIndexPage>' does not contain a definition for 'ActionLink' and the best extension method overload 'System.Web.Mvc.Html.LinkExtensions.ActionLink(System.Web.Mvc.HtmlHelper, string, string)' has some invalid arguments

虽然这有效:

<%= Html.ActionLink("foo", "bar") %>

所以也要检查你的标记。

于 2010-04-04T11:14:30.677 回答
1

我在主布局中对 Html.ActionLink 有同样的问题。原因是自动 Html 编码。<pages automaticEncoding="false">通过在 web.config 中设置或使用 !{Html.ActionLink(...)} 而不是 ${Html.ActionLink(...)}修复

于 2010-01-15T20:16:40.553 回答