/ / Passa il modello tramite "reindirizzamento all'azione" visibile alla stringa URL nel browser - c #, .net, asp.net-mvc, reindirizzamento url

Passa il modello tramite "reindirizzamento all'azione" visibile a Stringa URL nel browser - c #, .net, asp.net-mvc, reindirizzamento URL

Il fatto è che sto passando alcuni dati nel modello dalla prima azione alla seconda azione dello stesso controller ma i dati nel modello sono visibili nella stringa di query URL. questa è l'immagine dell'azione in cui sto reindirizzando alcuni dati

Ecco come è visibile alla stringa di query inserisci la descrizione dell'immagine qui

Adesso

1 - esiste una soluzione per nascondere quei dati nella stringa di query Oltre all'utilizzo dei dati temporanei

2 - e perché il reindirizzamento all'azione sta avvenendo dal client ??

3 - Sembra passare i dati tramite il metodo Get nel reindirizzamento, esiste un modo in cui posso passare i dati in Body (ovvero Post).

risposte:

2 per risposta № 1

Il metodo MVC RedirectToAction invia semplicemente il fileclient (browser, in questo caso) un'intestazione HTTP denominata "Posizione" nella risposta e imposta il codice di stato su 302 "Trovato", per indicare un reindirizzamento suggerito. Tale intestazione contiene l'URL della vista specificata e inserisce tutti i dati del modello nella stringa di query.

Il cliente può scegliere se visitare quell'URLo no. I browser generalmente seguono automaticamente il collegamento, perché è facile da usare. Altri client HTTP potrebbero non farlo. Ecco come funziona - questo è generale per tutto il web, non solo per MVC. Il reindirizzamento viene sempre eseguito come GET, non è possibile reindirizzare tramite altri metodi HTTP.

Se si desidera semplicemente visualizzare la vista senza reindirizzamento, utilizzare

return View("addLeaveEntitlement", result.Model)

Quindi c'è solo una richiesta, non c'è reindirizzamento e l'URL non cambia affatto (nemmeno all'URL normale della vista "aggiungi" - questo potrebbe essere o non essere desiderabile).