asp.net pages Web bloc de contenu et les différences helper
-
27-10-2019 - |
Question
Dans le cadre asp.net pages Web Quelle est la différence entre l'utilisation d'un bloc de contenu par rapport à une aide?
Ils semblent tous deux être utilisés pour la sortie HTML à plusieurs pages. Ils ont tous deux peuvent contenir du code et les deux peuvent passer des paramètres.
Y at-il d'autres différences? Quand utiliser une aide par rapport à un bloc de contenu?
Plus d'infos:
Avec des blocs de contenu, nous créons un .cshtml (par exemple _MakeNote.cshtml) fichier pour maintenir le contenu que nous voulons insérer dans une page. Ensuite, nous utilisons:
@RenderPage("/Shared/_MakeNote.cshtml")
pour insérer le contenu dans une page. On peut passer des paramètres au bloc de contenu comme ceci:
@RenderPage("/Shared/_MakeNote.cshtml", new { content = "hello from content block" })
Il est un peu comme un fichier à inclure, mais je pense ne pas la portée de l'action avec la page parent.
Avec Helpers nous créons une page .cshtml dans le dossier App_Code (par exemple MyHelpers.cshtml) et place des méthodes dans cette page que nous voulons appeler. La méthode ressemble à quelque chose comme ceci:
@helper MakeNote(string content) {
<div>@content</div>
}
L'aide est appelée à l'aide:
@MyHelpers.MakeNote("Hello from helper")
La solution
Il n'y a pas beaucoup de différence fonctionnelle. Helpers besoin d'aller dans un dossier App_Code - sauf si vous téléchargez ou VWD Visual C # Express et compilez un fichier binaire - et le dossier App_Code ne se traduit pas bien le framework MVC. Bien sûr, cela est pertinent que si vous souhaitez passer à MVC à un moment donné.
J'utiliser une aide pour des extraits fonctionnels génériques comme votre MakeNote. J'utiliser un « bloc de contenu » (partiel, vraiment) pour les sections de site spécifiques répétées d'une page.