Ответ 1
Добавьте этот using System.Web.Mvc.Html;
поверх вашего файла
Я хотел бы использовать custom @Html.ActionLink
Я пытаюсь использовать следующий код: -
public static class LinkExtensions
{
public static MvcHtmlString MyActionLink(
this HtmlHelper htmlHelper,
string linkText,
string action,
string controller)
{
var currentAction = htmlHelper.ViewContext.RouteData.GetRequiredString("action");
var currentController = mlHelper.ViewContext.RouteData.GetRequiredString("controller");
if (action == currentAction && controller == currentController)
{
var anchor = new TagBuilder("a");
anchor.Attributes["href"] = "#";
anchor.AddCssClass("currentPageCSS");
anchor.SetInnerText(linkText);
return MvcHtmlString.Create(anchor.ToString());
}
return htmlHelper.ActionLink(linkText, action, controller);
}
}
Из Пользовательский помощник ActionLink, который знает, на какой странице вы находитесь
Но я получаю
System.Web.Mvc.HtmlHelper 'не содержит определения для "ActionLink" и никакой метод расширения "ActionLink", принимающий первый аргумент типа "System.Web.Mvc.HtmlHelper" можно найти (вы отсутствует директива using или ссылка на сборку?
Добавьте этот using System.Web.Mvc.Html;
поверх вашего файла
Убедитесь, что у вас есть пространство имен для вашего класса расширений, включенных в ваш web.config. Например:
namespace MyProject.Extensions
{
public static class LinkExtensions
{
//code
}
}
На вашем сайте Web.config и/или Web.config находится в папке "Представления":
<system.web>
<pages>
<namespaces>
<add namespace="MyProject.Extensions" />
</namespaces>
</pages>
</system.web>
В противном случае включите блок "using" для пространства имен в верхней части страницы просмотра, но для общих пространств имен я бы сделал выше.
ASPX:
<%@ Import namespace="MyProject.Extensions" %>
RAZOR:
@using MyProject.Extensions
Убедитесь, что вы используете в своем файле класс:
using System.Web.Mvc.Html;
Это необходимо, потому что класс HtmlHelper
находится в пространстве имен System.Web.Mvc
, но метод расширения ActionLink
находится в пространстве имен System.Web.Mvc.Html
.