1
votes

Comment passer une section à une mise en page partielle?

Dans ASP.net MVC 5, nous pouvons passer la section à la mise en page en utilisant

@RenderSection("AnySection", required: false)

et la restituer en mise en page par

@section AnySection{
  //section code here
}

Mais comment pouvons-nous passer à nouveau cette section à une partie à l'intérieur de cette mise en page? Voir l'image ci-dessous pour référence comment pouvons-nous passer cette section à partielle? subheader-v1 est une vue partielle dans ma mise en page J'ai fait ma mise en page avec de nombreuses vues partielles. Lorsque j'essaye ceci comme mentionné dans l'image ci-dessus, cela me donne cette erreur

Le fichier "~ / Views / Shared / partials / _subheader / subheader-v1.cshtml" ne peut pas être demandé directement car il appelle la méthode "RenderSection". '


3 commentaires

s'il vous plaît, quel est le sous-titre-v1


C'est une vue partielle à l'intérieur de ma mise en page J'ai fait ma mise en page avec de nombreuses vues partielles.


Dans le sous-titre-v1.cshtml, remplacez @RenderSection ("Coordinates", obligatoire: false) TO ==> @ Html.Partial ("CoordinatesSelection", Model) ... le code @RenderSection ("Coordinates", obligatoire: false) a été conçu pour être écrit directement dans la mise en page !!


3 Réponses :



1
votes

À l'intérieur du sous-en-tête-v1.cshtml (puisque l'objectif est d'amener le partiel "CoordinatesSelection" dans le sous-en-tête-v1.cshtml), remplacez

@Html.Partial("CoordinatesSelection", Model)

POUR

@RenderSection("Coordinates", required: false) 

Le code @RenderSection ("Coordinates", obligatoire: false) a été conçu pour être écrit directement dans le layout pour éviter les doublons !!

p>


0 commentaires

0
votes

Deux façons:

1. Vous pouvez migrer de subheader-v1 vers layout

layout:

@section Coordinates{
    //your partial code
}

Et vous pouvez utilisez RenderSection dans la mise en page

2. Vous pouvez passer un modèle à Partial subheader-v1

*layout:

@model object
.
.
.
<div class="kt-subheader__wrapper">
   @Html.Raw(Model)

* subheader-v1: p >

@Html.Partial("partials/_subheader/subheader-v1",RenderSection("Coordinates",false))
@RenderBody()

* SelectClosetStore

// your subheader-v1 code
@RenderBody()

Je pense que la première méthode est meilleure que la seconde.


0 commentaires