Zuerst verwende ich MVC 3 RC1 mit der Razor-View-Engine. Ich habe eine HTML-Helfer Erweiterung bekam, die wie folgt aussieht:HTML-Codierung für HtmlHelper-Erweiterungsmethode
public static string TabbedMenuItem(this HtmlHelper htmlHelper, string text, string actionName, string controllerName) {
StringBuilder builder = new StringBuilder();
builder.Append("<li>");
builder.Append(text);
builder.Append("</li>");
return builder.ToString();
}
Und auf der Ansicht, es wie folgt heißt:
@Html.TabbedMenuItem("Home", "Index", "Home")
Das Problem, das ich habe ist, dass MVC automatisch ist HTML codiert, die in der Ansicht führen, so alles, was ich die codierte Version des Strings erhalten:
<li>Home</li>
Wer weiß, wie die automatische Codierung für Ihre HTML-Helfer-Erweiterungen deaktivieren?
Vielen Dank im Voraus Andy
Für die Zukunft hat MVC eine System.Web.Mvc.TagBuilder Klasse, die Sie vielleicht in suchen. Es wird nicht die Notwendigkeit für die Rückgabe von IHtmlString, aber es kommt mit mehr Funktionalität als StringBuilder für diese Art von Aufgabe. –