Использование пользовательских помощников HTML - PullRequest
0 голосов
/ 23 января 2019

Попытка использовать помощника HTML, который я нашел здесь при первом ответе:

введите описание ссылки здесь

Вот часть контроллера:

 public static class HtmlHelpers
{
    public static MvcHtmlString DisplayWithBreaksFor<TModel, TValue>(this HtmlHelper<TModel> html, Expression<Func<TModel, TValue>> expression)
    {
        var metadata = ModelMetadata.FromLambdaExpression(expression, html.ViewData);
        var model = html.Encode(metadata.Model).Replace("\r\n", "<br />\r\n");

        if (String.IsNullOrEmpty(model))
            return MvcHtmlString.Empty;

        return MvcHtmlString.Create(model);
    }
}

и в представлении, которое я использую:

@using HtmlHelpers

и

@Html.DisplayWithBreaksFor(m => m.MultiLineField)

Но я получаю сообщение об ошибке

Для первого:

"Не удалось найти тип или имя пространства имен 'HtmlHelpers' (отсутствует директива using или ссылка на сборку?)"

Для второго:

"System.Web.Mvc.HtmlHelper>" не содержит определения для DisplayWithBreaksFor и метода расширения DisplayWithBreaksFor, принимающего первый аргумент типа "

"'System.Web.Mvc.HtmlHelper>' может быть найден (отсутствует директива using или ссылка на сборку?)"

Ответы [ 2 ]

0 голосов
/ 23 января 2019

Вы добавили неправильное пространство имен.Я думаю, что вы не должны помещать метод в контроллер.Просто создайте новый класс.Таким образом, вы можете повторно использовать код лучше.Вот образец.Вы можете обратиться.Надеюсь помочь, мой друг :)

0 голосов
/ 23 января 2019

Вы должны использовать полное пространство имен:

@using YourProjectName.YourAssemblyName.FolderNameWhereYourClassLives;
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...