web-dev-qa-db-fra.com

Rendre une vue à l'intérieur d'une vue dans Asp.Net mvc

Comment rendre une vue à part entière (pas une vue partielle) à l'intérieur d'une autre vue?

Scénario, j'ai un contrôleur différent et je veux que la même vue soit rendue, qui est déjà là sous un autre contrôleur avec une disposition différente.

J'ai une page de liste de souhaits dans Home Controller qui affiche la liste des produits ajoutés, et lorsque l'utilisateur est connecté, lorsque je clique sur la liste de souhaits, il me montre également la navigation lorsque l'utilisateur est connecté.

Comment pourrais-je faire ça ??

18
trighati

Peu de développeurs le savent, mais vous pouvez utiliser RenderPage , il est spécialement conçu à cet effet (pour rendre une vue MVC dans une autre vue)

@RenderPage("~/Views/Shared/SampleView.cshtml")
33
Denys Wessels

Vous pouvez toujours créer ou utiliser une vue partielle avec son propre contrôleur et utiliser la RenderAction ()

[ChildActionOnly]
public ActionResult ActionPartialView(string p1)

{
    //code...

    return PartialView(); 
}

Le code ci-dessus peut être dans n'importe quel contrôleur, son propre contrôleur, il suffit de l'appeler dans le rasoir avec ce contrôleur.

Rasoir:

@{ Html.RenderAction("Index", "Home"); }

J'espère que ça t'as aidé

11
Sarel Louw