Mam potrzebę korzystania actionlink link do ekranu edycji ann dla mojego ViewModel A.MVC dynamiczne routeValues dla ActionLinks
A ma klucz kompozytowy, więc do niej link, wartości trasa będzie mieć 3 pramaters coś takiego:
<%: Html.ActionLink("EDIT", "Action", "Controller",
new { area = "Admin", Id1= 1, Id2= 2, Id3= 3 })%>
Jak widać, wartości trasy zawierają identyfikatory, że Akcja kontroler zaakceptuje.
Chcę być w stanie wygenerować wartości trasy z funkcji pomocniczych, takich jak to:
public static Object GetRouteValuesForA(A objectA)
{
return new
{
long Id1= objectA.Id1,
long Id2= objectA.Id2,
long Id3= objectA.Id3
};
}
a następnie używać go w pomocnika actionlink, ale nie wiem jak przekazać ten wynik ActionHelper
objectA = new A(){Id1= objectA.Id1,Id2= objectA.Id2,Id3= objectA.Id3};
....
<%: Html.ActionLink("EDIT", "Action", "Controller",
new { area = "Admin", GetRouteValuesForA(objectA) })%>
Ale to musiałby działanie kontrolera przyjąć, że typ anonimowy zamiast listy 3 właściwości
widziałem poniższego linku, które łączą jest anonimowy, ale czy jest jakiś inny sposób na zrobienie tego? Merging anonymous types
Nie możesz po prostu dodać wartości jako właściwości swojego modelu wyświetlania? –
Są, ale chcę tylko użyć tej funkcji do wygenerowania wartości trasy w przypadku zmiany definicji A, tak jakbym potrzebował dodać lub usunąć identyfikatory składające się na klucz złożony. W ten sposób będę musiał zmienić tylko parametry w jednym miejscu. – getit
Zobacz moją odpowiedź :) –