Utilizzare asp-route in input

di il
2 risposte

Utilizzare asp-route in input

Salve a tutti ho fatto una form di ricerca in asp net core

form asp-action="ElencoCedolini" method="get">
     <div class="form-actions no-color">
        <p>
            Cerca: <input type="text" name="SearchString" value="@ViewData["CurrentFilter"]"/>
            @*Annullo la Ricerca*@
            <a class="btn btn-primary btn-small" asp-action="ElencoCedolini" asp-route-Inquadramento="@ViewData["CurrentInq"]" asp-route-Mese="@ViewData["CurrentMese"]"
               asp-route-Anno="@ViewData["CurrentAnno"]" asp-route-Sviluppo="@ViewData["CurrentSviluppo"]" asp-route-SelectCliente="@ViewData["CurrentCliente"]">Annulla Ricerca
            </a>
        </p>
    </div>
</form>
l'annulla ricerca funziona
il mio problema è che non riesco a capire come impostare l' asp-route per dare al controller, oltre all' informazione della ricerca "SearchString" anche gli altri valori che mi servono per popolare la mia query
ho provato sia così
form asp-action="ElencoCedolini" method="get" asp-route-Inquadramento="@ViewData["CurrentInq"]" asp-route-Mese="@ViewData["CurrentMese"]" asp-route-Anno="@ViewData["CurrentAnno"]" 
      asp-route-Sviluppo="@ViewData["CurrentSviluppo"]" asp-route-SelectCliente="@ViewData["CurrentCliente"]" >
che così
Cerca: <input type="text" name="SearchString" value="@ViewData["CurrentFilter"]" asp-route-Inquadramento="@ViewData["CurrentInq"]" asp-route-Mese="@ViewData["CurrentMese"]" asp-route-Anno="@ViewData["CurrentAnno"]" 
      asp-route-Sviluppo="@ViewData["CurrentSviluppo"]" asp-route-SelectCliente="@ViewData["CurrentCliente"]"/>
ma com'è chiaro che non funzionano nessuno dei due, dove dovrei mettere le asp-route in Input? o forse devo utilizzare un altro sistema per dare al controller i valori che mi servono?

2 Risposte

  • Re: Utilizzare asp-route in input

    eternityck ha scritto:


    il mio problema è che non riesco a capire come impostare l' asp-route per dare al controller, oltre all' informazione della ricerca "SearchString" anche gli altri valori che mi servono per popolare la mia query
    Devi aggiungere al tuo <form> dei campi nascosti: in questo modo, il loro valore verrà unito a quello degli altri in fase di invio.

    Ad esempio,
    
    <input type="hidden" name="SearchString" value="@ViewData["CurrentFilter"]"/>
    
    oppure
    
    <input type="hidden" asp-for="CurrentFilter"/>
    
    se fai uso di una classe come riferimento per il modello.

    In caso di GET, i valori finiranno nella query string, mentre in caso di POST verranno allegati in coda alla richiesta.

    Ciao!
  • Re: Utilizzare asp-route in input

    Perfetto Risolto Grazie
    ho fatto così
    <input type="hidden" name="Anno" value="@ViewData["CurrentAnno"]" />
    funziona
Devi accedere o registrarti per scrivere nel forum
2 risposte