2015-04-21 5 views
6

Я пытаюсь добавить шрифт awesome icon в kendo UI ASP.NET Menu. К сожалению, я не могу найти пример в Kendo о том, как это сделать. Код выглядит следующим образом:Как добавить шрифт-удивительный значок в меню kendo UI MVC?

  @(Html.Kendo().Menu() 
      .Name("PreferencesMenu") 
      .HtmlAttributes(new { style = "width: 125px; height:900px; border:0px;" }) 
      .Direction("down") 
      .Orientation(MenuOrientation.Vertical) 
      .Items(items => 
      { 
       items.Add() 
        .Text("Account"); 

       items.Add() 
        .Text("Notification") 
        .Items(children => 
        { 
         children.Add().Text("Email"); 
        }); 

       items.Add() 
        .Text("Theme"); 

      }) 
      ) 

Кто-нибудь знает, как я мог бы добавить значок шрифта удивительного перед .text («Счет»); ?

ответ

6

Это, казалось, работало для меня с образцовым проектом.

Если изменить .text ("Счет")

Для этого

.Text("<span class=\"fa fa-arrow-up\"></span> Account").Encoded(false) 

Это должно затем показать стрелку рядом с аккаунтом. (Очевидно, что изменить Потрясающий элемент шрифта на тот, который вы хотите

редактировать:. Я добавил следующий образец для вас показывая это работает на несколько уровнях, и добавив шрифт на уровне детского

@(Html.Kendo() 
     .Menu() 
     .Name("men") 
     .Items(item => 

        { 
         item.Add() 
          .Text("<span class=\"glyphicons glyphicons-ok\"> </span>some item") 
          .Items(i => 
             { 
              i.Add().Text("<span class=\"glyphicons glyphicons-plus\"></span> Hello").Encoded(false); 
             } 
           ) 
          .Encoded(false); 
         item.Add() 
          .Text("<span class=\"glyphicons glyphicons-thumbs-up\"> </span>some item") 
          .Items(i => 
             { 
              i.Add().Text("Hello"); 
             }) 
          .Encoded(false); 
        }) 
) 

Причина для установки .Encoded (ложь) так, что движок рендеринга просто передает данные и предполагает, что это безопасный код, чтобы написать это эквивалент делать

@Html.Raw("<p> some html here</p>")

Установив его в true, система просто обрабатывает входящий текст в виде строки и не пытается интерпретировать текст, а затем применять любое «html/javascript» распознавание, например. <p>I'm a paragraph</p>, если для кодировки установлено значение true, будет отображаться как <p>I'm a paragraph</p>, если false даст вам . Я - пункт как его собственный абзац, и разметка будет применена к странице.

+0

Кажется, что не нравится .Encode Visual Studio говорит: «Не удается разрешить символ« Кодировать ». Я удалил его, но затем все, что он делает, это показать код внутри .Text (« '), а не шрифт awesome значок. – Justin

+0

Изменен .encode для кодирования, работает как шарм! Спасибо! Я ценю вашу помощь! – Justin

+0

У меня есть 2 быстрых вопроса, какова цель .encoded? Кроме того, когда я добавляю .encoded для уведомлений, он выдает ошибки на .items и .add. Кажется, он не нравится детям в меню. – Justin

Смежные вопросы