Как получить доступ к деталям идентификации пользователя в методе mvc HtmlExtension?

Привет, ребята, спасибо за ваш ответ заранее.

Мне нужно отобразить много ссылок действий на многих страницах, и у меня есть авторизация между ролями пользователей, поэтому я кодирую, если еще в представлениях, но я хочу сделать его коротким, поэтому я использую метод расширения htmlHelper, вот мой код.

   public static MvcHtmlString ValidationActionLink(this HtmlHelper htmlHelper, string linkText, string actionName, string controllerName, string AllowedRole)
{
     if (User.IsInRole(AllowedRole))// its given me error The User dosent exist in current context Am i missing some namespace or what ?
     {
                htmlHelper.ActionLink(linkText, actionName);
     }                      
}

1 ответ

Решение

Вы можете получить доступ User в рамках метода расширения с использованием

public static MvcHtmlString ValidationActionLink(this HtmlHelper htmlHelper, string linkText, string actionName, string controllerName, string AllowedRole)
{
    var user = htmlHelper.ViewContext.HttpContext.User;

в качестве альтернативы, вы могли бы пройти User к методу, добавив дополнительный параметр к вашему методу расширения.

Другие вопросы по тегам