2010-02-22 2 views

Répondre

3

Dans la nouvelle infrastructure ASP.NET MVC 2, vous pouvez utiliser la méthode Html.RenderAction(). Cela vous permet d'appeler une action de la vue, et obtenir la vue générée à l'intérieur de votre vue: http://www.davidhayden.me/2009/11/htmlaction-and-htmlrenderaction-in-aspnet-mvc-2.html

Le MvcContrib-projet a quelque chose appelé Subcontroller, ce qui vous donne essentiellement les mêmes fonctionnalités: http://jeffreypalermo.com/blog/mvccontrib-latest-release-now-with-subcontroller-support/

+0

J'aime ça !!! – AxelEckenberger

+0

En utilisant Html.RenderAction(), dans quel contrôleur appelez-vous? – Bobbie

+0

autant que je peux voir, vous appelez dans le contrôleur actuel. Pour appeler un autre contrôleur, vous pouvez donner un paramètre supplémentaire à la méthode RenderAction, avec le nom: Html.RenderAction ("ActionName", "ControllerName") – Pbirkoff

0

Il suffit de mettre ce vue partielle dans le dossier Views/Shared et accessible par n'importe quelle autre vue.

Si vous utilisez le modèle ViewModel, vous pouvez composer votre ModelView avec l'objet requis par cette vue partielle. Comme ceci:

public class MyPartialViewViewModel 
{ 
    // my properties here  
} 

public class MyView1ViewModel 
{ 
    public MyPartialViewViewModel Partial {get; private set;} 
    public MyView1ViewModel(MyPartialViewViewModel partial) 
    { 
     this.Partial = partial; 
    } 
} 

Et puis vous avez juste à passer la propriété partielle à votre vue partielle.

Questions connexes