Ich habe eine Notwendigkeit Action zu verwenden, um ann BearbeitungsbildschirmMVC dynamische Routevalues für ActionLinks
A hat einen zusammengesetzten Schlüssel, für meine Ansichtsmodell A. zu verknüpfen, so, um es zu verbinden, müssen die Route Werte 3 haben pramaters, wie folgt aus:
<%: Html.ActionLink("EDIT", "Action", "Controller",
new { area = "Admin", Id1= 1, Id2= 2, Id3= 3 })%>
wie Sie die IDs sehen können, enthalten die Routenwerte, die der Controller Aktion akzeptieren.
Ich mag die Route Wert aus einer Hilfsfunktion, wie dies in die Lage sein zu generieren:
public static Object GetRouteValuesForA(A objectA)
{
return new
{
long Id1= objectA.Id1,
long Id2= objectA.Id2,
long Id3= objectA.Id3
};
}
Und es dann in der Action Helfer verwenden, aber ich weiß nicht, wie dieses Ergebnis zu übergeben die ActionHelper
objectA = new A(){Id1= objectA.Id1,Id2= objectA.Id2,Id3= objectA.Id3};
....
<%: Html.ActionLink("EDIT", "Action", "Controller",
new { area = "Admin", GetRouteValuesForA(objectA) })%>
Aber das würde die Controller-Aktion müssen diese anonymen Typ statt einer Liste von drei Eigenschaften
ich den Link unten sah akzeptieren, die fusionieren s anonymer Typ, aber gibt es einen anderen Weg, dies zu tun? Merging anonymous types
Können Sie nicht einfach die Werte als Eigenschaften Ihres Viewmodels hinzufügen? –
Sie sind, aber ich möchte nur die Funktion verwenden, um die Route Werte für den Fall zu generieren, dass die Definition von A ändert, als ob ich IDs hinzufügen oder entfernen muss, die den zusammengesetzten Schlüssel bilden. Auf diese Weise würde ich nur die Parameter an einem Ort ändern müssen – getit
Siehe meine Antwort :) –