2013-08-21 2 views
0

Je souhaite créer quelque chose comme un contrôle utilisateur dans mon projet MVC 4. J'ai suivi les instructions dans this article donc j'ai ajouté le dossier App_Code (il n'était pas initialement là) dans le projet. A l'intérieur j'ai mis un fichierContrôle utilisateur MVC 4 Razor

VDRazorHelpers.cshtml

Dans ce fichier j'ai mon code qui est en fait une table HTML statique (j'ajouter des valeurs dynamiques plus tard):

@helper PropertySummary(){ 
    <tr> 
     <td width="210" align="center" colspan="2"> 
      <img src="http://www.mysite.com/images/BG1.JPG" width="210" height="140" /> 
     </td> 
    </tr> 

} 

Ensuite, à mon avis je tente d'accéder à cette écriture aide:

@VDRazorHelpers.PropertySummary 

mais ne semble pas être disponible.

Je sais que l'article que j'ai mentionné est pour MVC3. A-t-il changé? Quelle serait la bonne façon d'avoir des pièces html personnalisées réutilisables dans MVC4?

Voici la capture d'écran de l'IntelliSense:

enter image description here

+0

J'espère que vous avez inclus l'espace de noms en utilisant l'instruction using dans la vue. –

+0

@Nitin Dois-je définir l'espace de noms dans le fichier d'aide en quelque sorte? J'ai essayé d'ajouter en utilisant MyNamespace; dans la vue où je veux utiliser l'aide mais cela n'a pas aidé ... –

Répondre

5

Je serais plus enclin à utiliser une vue partielle que vous pouvez placer dans les vues du dossier partagé, puis appelez passer le modèle que vous souhaitez rendre avec ce point de vue:

@Html.Partial("propertySummary", property) 

Juste une pensée

+0

Pouvez-vous s'il vous plaît donner un exemple là-dessus? Je suis très nouveau à MVC. Devrais-je créer une nouvelle vue dans mon dossier Views, n'ayant que le code tr et l'appeler? –

+0

Par partagé, il fait référence au dossier/Views/Shared. – asymptoticFault

+0

Merci, ça a marché ... –

1

Vues partielles sont les plus proches d'un analogue d'un F Web Contrôle de l'utilisateur orms dans MVC. Ils encapsulent du code HTML qui peut être réutilisé sur d'autres vues ou renvoyé directement à partir de méthodes d'action, ce qui est pratique pour les appels AJAX qui doivent récupérer du code HTML. La grande différence dans MVC est que les vues partielles n'ont pas ViewState d'un contrôle d'utilisateur dans les formulaires Web, ni rien, il est parti, et bon débarras en ce qui me concerne. Les Helpers HTML peuvent également être considérés comme proches des Contrôles Utilisateur mais ils sont complètement basés sur le code et génèrent du HTML alors que les Vues Partielles sont le balisage.