Отключить пункт меню фруктового сада в C#

Я хочу иметь возможность отключить пункт меню фруктового сада со страницы без написания или изменения любого HTML-кода или javaScript.

Я хочу сделать это только из C#. Я использовал класс NavigationProvider для этого.

 public class NavigationProvider : INavigationProvider
{
    public Localizer T { get; set; }
    public ILogger Logger { get; set; }
    private readonly IOrchardServices _orchardServices;
    public string MenuName
    {
        get { return "Menu"; }
    }
    public NavigationProvider(IOrchardServices orchardServices)
    {
        this._orchardServices = orchardServices;
    }
    public void GetNavigation(NavigationBuilder builder)
    {
        try
        {
            if (this._orchardServices.Authorizer.Authorize(Permission.View))
            {
                builder.Add(T("MenuItem1"), "1", item => item.Action("Index",
                "ControllerName",
                new { area = ModuleName }));
            }
            else
            {
                 builder.Add(T("MenuItem1"), "1", item => item.Action("Index",
                "ControllerName",
               new { area = ModuleName  }).AddClass("disabled").LocalNav(false)).

            }
        }
        catch (Exception ex)
        {
            Logger.Error(ex, "Error on building custom menu.");
        }
    }
}

Также попытался передать "style=pointer-events:none" вместо отключенного

1 ответ

У меня та же проблема, и вы можете скрыть это меню из этого класса. Я думаю, что это единственное решение вашей проблемы. Вы можете добавить значки, используя addClass.

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