Я создал метод расширения:
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.ActionImageLink, я получаю сообщение об ошибке, говоря, что System.Web.Mvc.HtmlHelper не содержит определения для ActionImageLink, принимающего первый тип аргумента System.Web.Mvc.HtmlHelper. Я не вижу каких-либо методов расширения ActionLink для System.Web.Mvc.HtmlHelper, только для System.Web.Mvc.HtmlHelper, так как это работает для .NET Framework, а не для меня?