Tout d'abord, j'utilise MVC 3 RC1 avec le moteur de vue Razor. J'ai une extension d'aide HTML qui ressemble à ceci:Codage HTML pour la méthode d'extension HtmlHelper
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();
}
Et sur la vue, il est appelé comme ceci:
@Html.TabbedMenuItem("Home", "Index", "Home")
Le problème que j'ai est que MVC est automatiquement HTML codant pour la résultat dans la vue donc tout ce que je reçois est la version encodée de la chaîne:
<li>Home</li>
est-ce que quelqu'un sait comment désactiver le codage automatique pour vos extensions d'aide HTML?
Merci à l'avance Andy
Pour référence ultérieure, MVC a une classe System.Web.Mvc.TagBuilder que vous voudrez peut-être examiner. Cela ne supprime pas le besoin de retourner IHtmlString, mais il a plus de fonctionnalités que StringBuilder pour ce genre de tâche. –