Отключить пункт меню фруктового сада в 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.