2012-03-30 3 views
0

Warum geben ASP.NET MVC HTML-Helfer MvcHtmlString-Instanzen zurück? Es scheint ziemlich ineffizient zu sein, für jeden gerenderten Helfer auf einer Seite eine Zeichenkette zuzuweisen. Warum funktionieren Helfer nicht genauso wie WebForms-Steuerelemente, indem sie direkt in einen HtmlTextWriter rendern?ASP.NET MVC - Warum rendern HtmlHelpers nicht direkt in den Stream?

+0

Beachten Sie, dass Sie Strings generell zuweisen, auch wenn Sie sie nur in einem Stream ausgeben. –

Antwort

1

MVC Ansichten verwendet nicht nur HTML erzeugen werden kann, sondern als ein Template-System verwendet wird, beispielsweise E-Mails zu produzieren. Sie werden hier, in StackOverflow, eine Methode finden, um die Ansicht direkt in einen String zu rendern. Dies gibt Ihnen auch eine einfachere Möglichkeit, Ihre Ansichten zu testen.

1

Wenn Sie eine Zeichenfolge zurückgeben, können Sie möglicherweise mehr damit tun oder sie an anderen Stellen aufrufen (z. B. Hilfsklassen).

Wenn Sie die Perf wünschen, gibt Versionen von einigen von ihnen, die direkt schreiben, wie RenderPartial(). Sehen Sie diese Stapelüberlauf Frage: Html.Partial vs Html.RenderPartial & Html.Action vs Html.RenderAction

edit: und diese ein: What is the difference (if any) between Html.Partial(view, model) and Html.RenderPartial(view,model) in MVC2?

Verwandte Themen