我创建了一个扩展方法: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