2015-04-21 5 views
6

Ich versuche, ein font awesome Symbol in ein Kendo UI ASP.NET Menü hinzuzufügen. Leider kann ich bei Kendo kein Beispiel finden, wie es geht. Der Code lautet wie folgt:Wie fügt man dem MVC-Menü von kendo UI ein font-awesome-Icon hinzu?

  @(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"); 

      }) 
      ) 

Wer weiß, wie ich eine Schriftart-awesome Symbol vor dem .Text („Account“) hinzufügen könnte; ?

Antwort

6

Dies schien für mich mit einem Beispielprojekt zu arbeiten.

Wenn Sie die .Text ("Account")

Zu diesem

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

ändern, die dann einen Pfeil nach oben neben Konto zeigen sollte. (Offensichtlich Awesome Element Schriftart ändern, um einen, die Sie wollen

bearbeiten. Ich habe die folgende Probe wurde für Sie diese Arbeit auf mehreren Ebenen und das Hinzufügen der Schriftart der auf der untergeordneten Ebene

@(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); 
        }) 
) 

Der Grund zeigen zum Einstellen .Encoded (false), so dass die Wiedergabemaschine das Äquivalent zu tun, ist

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

nur die Daten und übergibt nimmt sicheren Code ist es zu schreiben,Durch Setzen auf true behandelt das System den eingehenden Text nur als String und versucht nicht, den Text zu interpretieren und dann eine "html/javascript" -Erkennung anzuwenden, z. <p>I'm a paragraph</p> Wenn die Codierung auf "True" eingestellt ist, würde es als <p>I'm a paragraph</p> ausgegeben werden, wenn "false" den Wert " " ergibt. Ich bin ein Absatz, da es einen eigenen Absatz hat und das Markup auf die Seite angewendet wird.
+0

Visual Studio sagt "Kann das Symbol 'Encode' nicht auflösen. Ich habe es entfernt, aber dann zeigt es nur den Code innerhalb des .Text ('') anstelle der Schriftart Symbol. – Justin

+0

Geänderte .encode zu codiert, funktioniert wie ein Charme! Danke! Ich schätze Ihre Hilfe! – Justin

+0

Ich habe eine 2 schnelle Fragen, was ist der Zweck der .encoded? Wenn ich das .encoded zu den Benachrichtigungen addiere, verfehlt es auch .items und .add. Es scheint die Kinder im Menü nicht zu mögen. – Justin

Verwandte Themen