Sto provando a passare un oggetto tramite un collegamento ActionLink a un metodo in un controller MVC.Html.ActionLink() non funziona per il passaggio di un oggetto C#
La sintassi rasoio:
@Html.ActionLink("Export to Excel","ReturnExcelOfViewableResponses",new { SearchObject = Model.SearchObject})
ciò che è effettivamente essere visualizzati nel markup:
<a href="/EducationAgency/ReturnExcelOfViewableResponses?SearchObject=DTO.SearchObject" tabindex="29">Export to Excel</a>
Il metodo di controllo viene chiamato bene, quindi nessun motivo di postare qui. Cosa è necessario fare in modo che i valori effettivi vengano passati all'actionLink anziché a DTO.SearchObject
? Secondo HTML.ActionLink method sembra che abbia la sintassi corretta (usando MVC 4).
Grazie! Era così. Immagino che sia il nuovo formato MVC 4? – levininja
@levininja - nah, contrariamente a ciò che dice la risposta che hai inserito nella tua domanda, sono abbastanza sicuro che non ci sono state differenze importanti tra MVC 1, 2, 3 e 4 per questi metodi. Questa funzionalità è usata raramente rispetto al passaggio di un oggetto anonimo (come nell'esempio nella tua domanda). In entrambi i casi, l'oggetto passato definisce i valori del percorso - e le proprietà (di primo livello) dell'oggetto sono (eventualmente) trasformate in parametri di query per riflessione - non importa quale oggetto sia. Ma l'oggetto anonimo che passi nella tua domanda ha solo una proprietà di "primo livello": SearchObject. – JimmiTh