1 messaggio dal 26 maggio 2016
Buongiorno a tutti,
come da titolo, sto provando a cimentarmi con la creazione di un'applicazione web con asp.net core 5.
Mi trovo in difficoltà nel capire come creare una navbar dinamica, per l'esattezza una lista dropdown dove ogni item viene letto dal database (e in futuro utilizzero la cache per evitare mille ricerche ad ogni caricamento).
Leggendo online, uno dei consigli consiste nel creare una partial view alla quale passare il modello che si vuole poi renderizzare. Il problema è che so come passare un modello ad una partial view solo partendo da un'altra view che ottiene già tale modello da un controller.
Al momento la mia navbar ha questo pezzo di codice:
<li class="nav-item dropdown">
       <a class="nav-link dropdown-toggle dropdown-toggle-split" id="navbarDropdown" role="button" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false" > Palestre</a>
            <div class="dropdown-menu" aria-labelledby="navbarDropdown">
                  <a class="dropdown-item" asp-controller="Locations" asp-action="Detail" asp-route-id="1">Circolo Sportivo Flaminio</a>
                  <a class="dropdown-item" asp-controller="Locations" asp-action="Detail" asp-route-id="2">Cerenova/Cerveteri</a>
           </div>
</li>

E appunto i due item sono hardcoded. Anche spostandoli in una partial view e ottenendo quindi una cosa simile
@model List<LocationViewModel>

@foreach(var item in @Model)
{
    <a asp-controller="Locations" asp-action="Detail" asp-route-id="@item.LocationId">@item.Name</a>
}

nella partial, come faccio ad ottenere una lista senza poter utilizzare un controller per il _layout? C'è un metodo per usare un controller anche su una pagina di layout?

Torna al forum | Feed RSS

ASPItalia.com non è responsabile per il contenuto dei messaggi presenti su questo servizio, non avendo nessun controllo sui messaggi postati nei propri forum, che rappresentano l'espressione del pensiero degli autori.