2011-03-18 2 views
1

Dans le cadre des pages Web asp.net, quelle est la différence entre l'utilisation d'un bloc de contenu et d'un assistant?asp.net webpages bloc de contenu et différences d'aide

Ils semblent tous les deux être utilisés pour produire du HTML sur plusieurs pages. Ils peuvent tous les deux contenir du code et les deux peuvent transmettre des paramètres.

Y a-t-il d'autres différences? Quand devriez-vous utiliser un assistant par rapport à un bloc de contenu?

Plus d'infos:

avec des blocs de contenu que 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 celui-ci:

@RenderPage("/Shared/_MakeNote.cshtml", new { content = "hello from content block" }) 

Il est un peu comme un fichier Include, mais je pense que ne partage pas la portée de la page parent. Avec les aides, nous créons une page .cshtml dans le dossier App_Code (par exemple MyHelpers.cshtml) et plaçons des méthodes dans cette page que nous voulons appeler. La méthode ressemble à ceci:

@helper MakeNote(string content) { 
    <div>@content</div> 
} 

L'aide est appelée à l'aide:

@MyHelpers.MakeNote("Hello from helper") 
+0

parlez-vous asp.net-mvc? N'a pas entendu parler d'aides dans les formulaires Web – gideon

+0

Ceci est en ce qui concerne le cadre de pages Web qui a été introduit avec l'EDI/pile Webmatrix. Ce n'est pas webforms ou mvc. C'est plus comme l'asp classique ou le php basique mais avec .net. – dtc

Répondre

1

Il n'y a pas beaucoup de différence fonctionnelle. Les assistants doivent aller dans un dossier App_Code - sauf si vous téléchargez VWD ou Visual C# Express et compilez un binaire - et le dossier App_Code ne se traduit pas bien dans le framework MVC. Bien sûr, cela n'est pertinent que si vous voulez passer à MVC à un moment donné.

Je voudrais utiliser une aide pour les extraits génériques fonctionnels comme votre MakeNote. J'utiliserais un "content-block" (partiel, vraiment) pour les sections spécifiques d'une page.

Questions connexes