我創建了一個擴展方法:MVC視圖不能找到我的擴展方法
namespace MyComp.Web.MVC.Html
{
public static class LinkExtensions
{
public static MvcHtmlString ActionImageLink(this HtmlHelper htmlHelper, string linkText, string imageSource, string actionName)
{
...
}
}
}
我引用從我的MVC應用程序的組件,而我已經試過進口在我看來,命名空間:
<%@ Import Namespace="MyComp.Web.Mvc.Html" %>
而且我也把它添加到網絡配置文件:
<pages>
<controls>
...
</controls>
<namespaces>
<add namespace="System.Web.Mvc"/>
<add namespace="System.Web.Mvc.Ajax"/>
<add namespace="System.Web.Mvc.Html"/>
<add namespace="System.Web.Routing"/>
<add namespace="System.Linq"/>
<add namespace="System.Collections.Generic"/>
<add namespace="MyComp.Web.Mvc.Html"/>
</namespaces>
</pages>
在我看來,如果我嘗試訪問Html.ActionImage鏈接我得到一個錯誤,說System.Web.Mvc.HtmlHelper不包含接受第一個參數類型System.Web.Mvc.HtmlHelper的ActionImageLink的定義。我沒有看到任何針對System.Web.Mvc.HtmlHelper的ActionLink擴展方法,僅針對System.Web.Mvc.HtmlHelper,那麼它如何爲.net框架工作,而不是爲我?
這很奇怪。看起來你做得很對。我假設你運行網站時出現錯誤,而不僅僅是在VS代碼視圖中? – Omar 2010-01-21 17:20:14
你能粘貼你的視圖代碼嗎? – Rony 2010-01-21 17:22:48
@Baddie,如果我編譯,沒有,甚至在我運行應用程序之前VS顯示我的錯誤。 – Jeremy 2010-01-21 17:31:14