Die Razor-Ansichts-Engine in ASP.NET MVC unterstützt @helper, um kleine Hilfsmethoden zu definieren. Es scheint, dass Sie das gleiche tun können, indem Sie HtmlHelper um Erweiterungsmethoden erweitern. In welchen Situationen ist es am besten, jedes zu verwenden?
Subjektive Frage, also hier ist meine subjektive und voreingenommene Antwort: Wenn der Helfer-Code Mengen von C # -Code beinhaltet, benutze einen benutzerdefinierten HtmlHelper und wenn es primäres Markup ist, könntest du @helper
benutzen. Aber vorausgesetzt, dass Sie, wenn Sie Markup verwenden, einen partiellen wie @Html.Partial("_foo", SomeModel)
oder einen Editor / Anzeigevorlagen wie @Html.EditorFor(x => x.Foo)
verwenden können, hat @helper
keinen praktischen Nutzen. Persönlich habe ich übrigens nie @helper
benutzt, und ich habe es nie Leuten empfohlen, die ich konsultiert habe.
Ja, das stimmt, obwohl die @helper ein wenig einfacher zu arbeiten scheinen, wenn es einen guten Teil des Markups gibt, der enthalten ist - HTML-Erweiterungen und umfangreichere Markups passen nicht so gut zusammen, IMO.
Auf der anderen Seite kann @helpers nicht wie Html Erweiterungen getestet werden.
Tags und Links asp.net-mvc razor html-helper