2009-07-04 29 views
5

我對我的asp.net mvc應用程序使用了spark view引擎。 在我的aspx頁面中,我可以成功地使用Html.Actionlink,但是當我在spark文件中嘗試它時,它不會顯示在intellisense中,並且當我嘗試運行它時,我得到:不能在asp.net mvc火花文件中使用Html.ActionLink

動態視圖編譯失敗。 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'的第一個參數可以找到(你是否缺少使用指令或程序集引用?)

我確實有系統引用.web.mvc,並在_global.spark中添加。 這些都沒有幫助。有任何想法嗎?

回答

9

(在Spark discussion group從川羅爾丹的答案複製)

這是傭工居住的地方。

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

我在Html.ActionLink的主佈局中遇到了同樣的問題。原因是自動Html編碼。通過設置在web.config中<pages automaticEncoding="false">或使用!{Html.ActionLink(...)},而不是固定的$ {Html.ActionLink(...)}

+0

糟糕!對不起,混合了兩篇文章 - 不是「同樣的問題」,而是另一篇文章。 – ILog 2010-01-15 20:19:30

4

它可以用正確的Web甚至得到這個錯誤通過用錯誤的參數類型聲明ActionLink。

例子:

<%= 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") %> 

所以檢查標記爲好。