Ho la necessità di utilizzare ActionLink per collegare ann schermata di modifica per il mio ViewModel A.MVC routeValues dinamici per ActionLinks
A ha una chiave composta, in modo da collegare ad esso, i valori del percorso dovrà avere 3 pramaters, come questo:
<%: Html.ActionLink("EDIT", "Action", "Controller",
new { area = "Admin", Id1= 1, Id2= 2, Id3= 3 })%>
Come si può vedere, i valori del percorso contengono gli iD che l'azione di controllo accetterà.
Voglio essere in grado di generare i valori di percorso da una funzione di supporto, in questo modo:
public static Object GetRouteValuesForA(A objectA)
{
return new
{
long Id1= objectA.Id1,
long Id2= objectA.Id2,
long Id3= objectA.Id3
};
}
E poi utilizzarlo in aiuto ActionLink, ma non so come passare quel risultato a l'ActionHelper
objectA = new A(){Id1= objectA.Id1,Id2= objectA.Id2,Id3= objectA.Id3};
....
<%: Html.ActionLink("EDIT", "Action", "Controller",
new { area = "Admin", GetRouteValuesForA(objectA) })%>
Ma sarebbe necessario l'azione di controllo ad accettare che tipo anonimo, invece di un elenco di 3 immobili
ho visto sul link qui sotto che si fondono s tipo anonimo, ma c'è un altro modo per farlo? Merging anonymous types
Non puoi semplicemente aggiungere i valori come proprietà del tuo viewmodel? –
Sono, ma voglio solo usare la funzione per generare i valori del percorso nel caso in cui la definizione di A cambi, come se dovessi aggiungere o rimuovere Id che compongono la chiave composta. In questo modo, dovrei solo cambiare i parametri in un posto – getit
Vedere la mia risposta :) –