64 votes

Créer contrôleur pour vue partielle en ASP.NET MVC

Comment puis-je créer un contrôleur et un modèle pour une vue partielle? Je veux être en mesure de placer cette vue partielle n'importe où sur le site, donc il a besoin de son propre contrôleur. Je suis rendu à l'partiel, de sorte

@Html.Partial("_Testimonials")

114voto

George Stocker Points 31258

Pourquoi ne pas utiliser Html.RenderAction()?

Ensuite, vous pouvez mettre la ligne suivante dans n'importe quel contrôleur (même la création d'un nouveau contrôleur pour cela):

[ChildActionOnly]
public ActionResult MyActionThatGeneratesAPartial(string parameter1)
{
    var model = repository.GetThingByParameter(parameter1);
    var partialViewModel = new PartialViewModel(model);
    return PartialView(partialViewModel); 
}

Ensuite, vous pouvez créer une nouvelle vue partielle et votre PartialViewModel ce qu'il hérite.

10voto

Slick86 Points 1115

Il n'a pas besoin de son propre contrôleur. Vous pouvez utiliser

@Html.Partial("../ControllerName/_Testimonials")

Cela permet de rendre l'partielle à partir de n'importe quelle page. Juste assurez-vous que le chemin d'accès relatif est correct.

9voto

Justin Niessner Points 144953

Si c'était moi, je voudrais simplement créer un nouveau Contrôleur avec une Seule Action, puis de l'utiliser RenderAction en place Partielle:

// Assuming the controller is named NewController
@{Html.RenderPartial("ActionName", 
                     "New", 
                      new { routeValueOne = "SomeValue" });
}

4voto

Wen Chen Points 11

La chose la plus importante est l'action de création doit retourner vue partielle, voir ci-dessous.

public ActionResult _YourPartialViewSection() { return PartialView(); }

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X