Question

J'ai créé un assistant HTML

Html.BreadCrumb(IDictionary<string, string> crumbs)

Où la première chaîne est l'étiquette et la deuxième chaîne est l'URL. L'assistant crée le code HTML requis (une liste non ordonnée, des classes pour le premier élément, l'élément en cours, le dernier élément, l'élément mort et les séparateurs, etc.) Tout fonctionne bien, mais je le fais en créant un constructeur de chaînes de caractères, en pompant tout le code html qu'il contient et en renvoyant le contenu du constructeur de chaînes de caractères sous forme de chaîne.

Je pense que dans cet exemple, cela n'a pas beaucoup d'importance, mais que se passe-t-il si un assistant HTML génère une grosse charge de code HTML? N'y a-t-il pas moyen de le pousser dans Response.Write au lieu d'un constructeur de chaînes?

Ou d'autres problèmes / améliorations que vous avez?

Était-ce utile?

La solution

Il est certainement possible d’utiliser Response.Write au lieu de renvoyer une chaîne; Consultez la source de System.Web.Mvc.Ajax.Form (dans AjaxExtensions.cs) dans la source MVC pour obtenir un exemple.

Vous appelez ensuite l'assistant avec <% au lieu de <% =.

Est-ce que ce sera plus rapide? J'en doute, mais c'est facile à tester.

Autres conseils

En passant, ASP.NET MVC utilise un modèle de dénomination pour les différentes techniques de rendu.

Les assistants qui renvoient une chaîne de ce qu'ils sont doivent être nommés tels quels. Par exemple, Url.Action () et Html.TextBox () renvoient ces éléments exacts. Ainsi, ces assistants doivent être utilisés avec & Lt;% =% & Gt; syntaxe.

Les aides qui s'affichent directement dans le flux de sortie doivent commencer par Render. Par exemple, Html.RenderPartial (). Celles-ci sont utilisées avec & Lt;%% & Gt; syntaxe.

Les assistants qui utilisent le modèle IDisposable doivent être nommés avec Begin / End. Par exemple, Html.BeginForm () et Html.EndForm (). Ceux-ci doivent également être utilisés avec & Lt;%% & Gt; syntaxe.

Merci, Eilon

Je ne pense pas que vous rencontrerez de problème de performances tant que la taille des pages HTML que vous produisez est raisonnable. Et lorsque vous commencez vraiment à créer des pages de mégaoctets, vous devez vous demander pourquoi vous créez de si gros fichiers HTML.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top