我使用的火花视图引擎与我的asp.net MVC应用程序。 在我的ASPX页面,我可以成功地使用Html.Actionlink,但是当我在火花文件尝试它,它不显示在IntelliSense中了,当我试图想运行它,我得到:
动态视图编译失败。 C:\用户\ MIDAS \文档\ Visual Studio 2008的\项目\ ChurchMVC \ ChurchMVC \查看\首页\ Index.spark(73,25):错误CS1061: 'System.Web.Mvc.HtmlHelper' 不包含一个定义“ActionLink的”和没有扩展方法“ActionLink的”接受型的第一参数“System.Web.Mvc.HtmlHelper”可以找到(是否缺少using指令或程序集引用?)
我有system.web.mvc引用,并且我在_global.spark增加。 这些都不利于。 有任何想法吗?
(从川罗尔丹的答案复制星火讨论组 )
这是助手住的地方。
<use namespace="System.Web.Mvc.Html" />
它可以通过与错误的参数类型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") %>
因此,检查你的标记以及。
我在主布局Html.ActionLink有同样的问题。 原因是自动HTML编码。 通过设置固定<pages automaticEncoding="false">
在web.config中或通过使用!{Html.ActionLink(...)},而不是$ {Html.ActionLink(...)}