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")
Était-ce utile?

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.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top