Bâtiment HtmlStrings dans ASP.NET MVC
J'ai une méthode d'extension qui doit retourner un HtmlString. La méthode a une boucle qui va créer le HtmlString, cependant la HtmlString objet n'a pas de méthode Append et ne permettent pas de concaténation à l'aide de l'opérateur + donc je ne sais pas comment je ferais construire la HtmlString.
Je voudrais utiliser StringBuilder mais il n'a pas un ToHtmlString méthode...
Des solutions ou des motifs pour cela?
Je pense que vous devriez être en mesure de construire une normale stringbuilder avec le contenu HTML et alors la sortie de l'enveloppa dans un @Html.Raw() appel, serait-il résoudre le problème?
Merci - qui a très bien fonctionné. De rédiger une réponse avec un code pour cette solution.
Pas de problème, content que ça a aidé, pas de point de ré-inventer la roue si il y a quelqu'un pour elle! 🙂
Je préfère la réponse de @swapneel car il laisse la porte ouverte pour l'ajout d'un RouteValueDictionary paramètre à la méthode d'extension et ont la corporation de balise rendus dans un MVC y façon. Cela s'applique si vous êtes le rendu d'une balise ou d'un bloc de code HTML.
Je ne suis pas sûr si j'ai bien compris donc je ne vais pas poster une réponse, mais comment sur l'utilisation de votre StringBuilder, mais l'ajout d'une méthode d'extension de StringBuilder ToHtmlString?
Merci - qui a très bien fonctionné. De rédiger une réponse avec un code pour cette solution.
Pas de problème, content que ça a aidé, pas de point de ré-inventer la roue si il y a quelqu'un pour elle! 🙂
Je préfère la réponse de @swapneel car il laisse la porte ouverte pour l'ajout d'un RouteValueDictionary paramètre à la méthode d'extension et ont la corporation de balise rendus dans un MVC y façon. Cela s'applique si vous êtes le rendu d'une balise ou d'un bloc de code HTML.
Je ne suis pas sûr si j'ai bien compris donc je ne vais pas poster une réponse, mais comment sur l'utilisation de votre StringBuilder, mais l'ajout d'une méthode d'extension de StringBuilder ToHtmlString?
OriginalL'auteur Judo | 2011-10-26
Vous devez vous connecter pour publier un commentaire.
je pense que vous voulez utiliser TagBuilder et voir À l'aide de la TagBuilder de Classe à Construire HTML Helpers
comme ci-dessous..
OriginalL'auteur
Pourquoi ne pas simplement construire la chaîne dans un stringbuilder et puis
return MvcHtmlString.Create(sb.ToString());
OriginalL'auteur
Vous pourriez avoir un coup d'oeil à la fubu spin-off pour la création de Balises HTML. Voici une question qui parle un peu de son utilisation.
OriginalL'auteur
Vous pouvez écrire le
ToHtmlString()
méthode vous-même comme une extension de la méthode surStringBuilder
.OriginalL'auteur
Plusieurs solutions à ce problème, y compris à l'aide de la TagBuilder mais à l'aide de Html.Raw() très bien fonctionné pour moi:
OriginalL'auteur