için ben 3 olmasıMVC dinamik routeValues ActionLinks
A, rota değerleri bileşik anahtar, böylece ona bağlantı zorunda kalacak olan benim ViewModel A. için ann düzenleme ekranına bağlamak için ActionLink kullanmak için bir ihtiyaç var böyle pramaters: Gördüğünüz gibi
<%: Html.ActionLink("EDIT", "Action", "Controller",
new { area = "Admin", Id1= 1, Id2= 2, Id3= 3 })%>
, rota değerleri kontrolör Eylem kabul edecek kimlikleri içerir.
Böyle bir yardımcı işlevinden rota değerleri üretmek mümkün istiyorum:
public static Object GetRouteValuesForA(A objectA)
{
return new
{
long Id1= objectA.Id1,
long Id2= objectA.Id2,
long Id3= objectA.Id3
};
}
Sonra ActionLink yardımcı kullanmak, ama bu sonuca geçmek nasıl bilmiyorum ActionHelper
objectA = new A(){Id1= objectA.Id1,Id2= objectA.Id2,Id3= objectA.Id3};
....
<%: Html.ActionLink("EDIT", "Action", "Controller",
new { area = "Admin", GetRouteValuesForA(objectA) })%>
Ama bu birleştirme aşağıdaki bağlantıyı gördü yerine 3 özellikleri
listesinin isimsiz türünü kabul etmek denetleyicisi eylem gerekir anonim tip s, ancak bunu yapmak için başka bir yolu var mı? Merging anonymous types
Eğer sadece ViewModel özellikleri olarak değerlerini eklenemez? –
Bunlar, ama sadece ben eklemek veya kompozit anahtarı oluşturan kimlikleri kaldırmanız gerekiyorsa gibi durumda bir değişiklik tanımını rota değerlerini oluşturmak için işlevini kullanmak istiyorum. Bu şekilde, sadece, – getit
tek bir yerde params değiştirmek zorunda kalacak teşekkür ederim –