Salve mi è sorto un problema che quasi sicuramente( a quanto ho letto dovrebbe essere abbastanza semplice).
sto implementando un app in asp net core con Net 5, nello specifico una pagina con un dopwonlist
il chtml che interessa al problema è
@using (Html.BeginForm())
{
<div class="form-group">
<label class="control-label">Seleziona il Cliente</label>
<select class="btn-primary form-control" id="SelectCliente" name="SelectCliente"
onchange="document.forms[0].submit()" value=@ViewData["CurrentCliente"]>
<option selected= "@ViewBag.SelectCliente">@ViewBag.SelectCliente</option>
<option value=51>Cliente 1</option>
<option value=52>Cliente 2</option>
<option value=53>Cliente 3</option>
</select>
</div>
}
ed il controller è
[Authorize(Roles = "1")]
public async Task<IActionResult> PubblicaCedoliniAdmin(int SelectCliente, int currentCliente, int? pageNumber)
{
//Gestisco le Pagine
if (SelectCliente != 0)
{
pageNumber = 1;
}
else
{
SelectCliente = currentCliente;
}
ViewData["CurrentCliente"] = SelectCliente;
var ElencoPubli = await _context.ElenchiPubbliView.FromSqlRaw("SELECT Inquadramento,
"Anno, Mese, Sviluppo, COUNT(*) As NumCedolini,Pubblicato,Tipo,CodProgr,DataElaborazione FROM (SELECT Inquadramento, " +
"Anno, Mese, Cantiere, Listino,Sviluppo,TipoDocumento, DipCliente.CodiceCliente, Pubblicato,Tipo,CodProgr,DataElaborazione " +
"FROM (SELECT CodiceCliente,CodiceFiscaleDipendente FROM ARCHIVIOGENERALE.dbo.AnagraficaGE GROUP BY CodiceCliente,CodiceFiscaleDipendente) AS DipCliente RIGHT OUTER JOIN " +
"ElencoCedolini ON DipCliente.CodiceFiscaleDipendente = ElencoCedolini.CodiceFiscale WHERE (DipCliente.CodiceCliente=" + SelectCliente + ")) AS RaggrPeridiodo GROUP BY Inquadramento, Anno, Mese,TipoDocumento, Pubblicato, Sviluppo,Tipo,CodProgr,DataElaborazione " +
"ORDER BY Anno DESC, Mese DESC, Inquadramento").AsNoTracking().ToListAsync();
//Definisco il Numero di Record per Pagina
int pageSize = 8;
return View(await PaginatedList<ElencoPubbliView>.CreateAsync(ElencoPubli, pageNumber ?? 1, pageSize));
}
Funziona perfettamente nel senso che apro la pagina, ed è vuota, seleziono il cliente che mi interessa e la pagina si popola con i dati del cliente selezionato.
nella pagina c'è il pulsante per visualizzare in un altra pagina i cedolini del singolo cliente
<a class="d-inline btn-sm btn-primary text-white" asp-action="ElencoCedolini" asp-route-Inquadramento="@item.Inquadramento" asp-route-Mese="@item.Mese" asp-route-Anno="@item.Anno" asp-route-Sviluppo="@item.Sviluppo" asp-route-SelectCliente="@ViewData["CurrentCliente"]">Elenco Cedolini</a>
ed anche questo funziona perfettamente.
solo che se cerco di tornare alla pagine precedente mi dà l errore
Conferma reinvio modulo Questa pagina web richiede dati che hai inserito in precedenza per poter essere visualizzata correttamente. Puoi inviare di nuovo i dati, ma in questo caso ripeterai l'azione precedentemente eseguita nella pagina.
Premi il pulsante Ricarica per inviare di nuovo i dati necessari per caricare la pagina.
ERR_CACHE_MISS
leggendo in giro ho capito che è un problema noto al fine di evitare di ripetere un eventuale reinvio di dati sensibili più volte.
ho visto che si dovrebbe poter risolvere il problema facendo un Post-Redirect-Get ma gli esempi che ho trovato erano solo per moduli tipo create/edit per evitare di reinviare, appunto il modulo per una seconda volta nel caso si torni indietro.
nel mio caso invece è solo un problema di selezione.
come posso risolvere questo fastidioso problema?