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?
Antwort
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.
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?
- 1. Testen von HtmlHelpers in ASP.NET MVC
- 2. HtmlHelpers in MVC 6
- 3. ExtJS direkt mit ASP.NET MVC
- 4. Rendern Teilansichten (modale Fenster) in asp.net MVC
- 5. Warenkorb Sitzungsstatus erfolgt direkt in ASP.NET MVC
- 6. Kann XSLT MVC ASP.NET Controls/Code rendern?
- 7. Ist File() In asp.net mvc den Stream zu schließen?
- 8. ASP.NET MVC Rendern In Unit-Test anzeigen
- 9. ASP.NET MVC Razor bedingtes Rendern eines Elements
- 10. ASP.NET ModalPopupExtender nicht korrekt rendern
- 11. Steuerung nicht in MVC-Ansicht rendern
- 12. Warum sollte ich meine HTMLHelpers testen?
- 13. MVC: Formular nicht in Teilansicht rendern
- 14. Kann ich das Rendern einer Ansicht in asp.net beenden. Mvc
- 15. Steuerung Kendo Skript Position Rendern in MVC
- 16. SessionID ändert sich in ASP.NET MVC warum?
- 17. Stream-Objekt direkt in ein std :: string
- 18. Warum asp.net MVC Leichtgewicht genannt?
- 19. Greifen Sie auf HtmlHelpers von WebForm zu, wenn Sie ASP.NET MVC verwenden
- 20. Asp.net MVC - Rendern einer Teilansicht von einem Bereich
- 21. Warum zu Asp.NET MVC bewegen - warum nicht zu bewegen
- 22. ASP.NET MVC FileStreamResult funktioniert nicht wie beabsichtigt
- 23. ASP.NET MVC ViewManager gleichwertig
- 24. Asp.net MVC nicht finden
- 25. ASP.NET MVC gegen den Zeitgeist
- 26. Rendern von Skript im Kopfbereich mit ASP.NET MVC Razor
- 27. asp.net Mvc: direkt Wert zuweisen innen Rasierapparat Ansicht zu modellieren
- 28. Benutzerdefinierter Ausnahmefilter nicht in asp.net MVC
- 29. Hierarchische Daten in ASP.NET MVC
- 30. Warum schließt das Paket den zugrunde liegenden Stream nicht?
Beachten Sie, dass Sie Strings generell zuweisen, auch wenn Sie sie nur in einem Stream ausgeben. –