Non è possibile passare le classi alle azioni reindirizzate in questo modo. Il reindirizzamento avviene tramite l'url. Url è stringa, quindi non può contenere classi (serializzazione di oggetti a url è veramente fuori di logica qui)
Invece, è possibile utilizzare TempData
TempData["searchJob"] = searchJob;
return RedirectToAction ...;
e in un'azione riorientata
Entity.SearchJob = (Entity.SearchJob)TempData["searchJob"] ;
Dopo aver eseguito il codice sopra, TempData non conterrà più searchJob. TempData è generalmente utilizzato per la lettura a tempo singolo.
Ma la via sopra non mi piace. Se fossi al tuo posto, e volevo cercare posti di lavoro in base al nome, vorrei aggiungere routeParameters come
RouteValueDictionary dict = new RouteValueDictionary();
dict.Add("searchJobName", searchJob.JobName);
e ricevo per azione tramite il parametro
public ActionResult SearchJob(string searchJobName)
{
... do something with name
}
In questo modo, si ottiene una migliore user e http friendly url e dal punto di vista Action, otterrebbe tutti i parametri necessari dall'esterno. Questo è meglio per test, manutenzione, ecc.
Hai visto i documenti per 'RedirectToAction'? – bzlm
Qual è il controller con azione SearchJob? È lo stesso controller? –
Nessun SearchJob è il controller e ha un'azione denominata SearchJob. – Jaggu