在asp.net mvc的火花文件不能使用Html.ActionLink(Cannot use Ht

2019-07-29 15:43发布

我使用的火花视图引擎与我的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增加。 这些都不利于。 有任何想法吗?

Answer 1:

(从川罗尔丹的答案复制星火讨论组 )

这是助手住的地方。

<use namespace="System.Web.Mvc.Html" />


Answer 2:

它可以通过与错误的参数类型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") %>

因此,检查你的标记以及。



Answer 3:

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



文章来源: Cannot use Html.ActionLink in asp.net mvc spark files