के लिए मैं 3 के लिएMVC गतिशील routeValues ActionLinks
एक है एक समग्र कुंजी है, इसलिए इसे से जोड़ने के लिए, मार्ग मान होगा ActionLink उपयोग करने के लिए मेरी ViewModel ए के लिए एन संपादन स्क्रीन से जोड़ने के लिए एक की जरूरत है pramaters, इस तरह:
<%: Html.ActionLink("EDIT", "Action", "Controller",
new { area = "Admin", Id1= 1, Id2= 2, Id3= 3 })%>
जैसा कि आप देख सकते हैं, मार्ग मूल्यों में ऐसे आईडी होते हैं जो नियंत्रक क्रिया स्वीकार करेंगे।
मैं मार्ग मूल्यों इस तरह, एक सहायक समारोह से उत्पन्न करने में सक्षम होना चाहता हूँ:
public static Object GetRouteValuesForA(A objectA)
{
return new
{
long Id1= objectA.Id1,
long Id2= objectA.Id2,
long Id3= objectA.Id3
};
}
और फिर ActionLink सहायक में इसका इस्तेमाल करते हैं, लेकिन मैं कैसे करने के लिए है कि परिणाम पारित करने के लिए पता नहीं है ActionHelper
objectA = new A(){Id1= objectA.Id1,Id2= objectA.Id2,Id3= objectA.Id3};
....
<%: Html.ActionLink("EDIT", "Action", "Controller",
new { area = "Admin", GetRouteValuesForA(objectA) })%>
लेकिन वह 3 गुण
की एक सूची के बजाय कि अज्ञात प्रकार मैं नीचे दिए गए लिंक है कि विलय देखा स्वीकार करने के लिए नियंत्रक कार्रवाई की आवश्यकता होगी गुमनाम प्रकार है, लेकिन क्या ऐसा करने का कोई और तरीका है? Merging anonymous types
क्या आप मूल्यों को अपने व्यूमोडेल के गुणों के रूप में नहीं जोड़ सकते हैं? –
वे हैं, लेकिन मैं सिर्फ एक परिवर्तन की परिभाषा के मामले में मार्ग मान उत्पन्न करने के लिए फ़ंक्शन का उपयोग करना चाहता हूं, जैसे कि मुझे समग्र कुंजी बनाने वाले आईडी जोड़ने या निकालने की आवश्यकता है। इस तरह, मुझे केवल एक ही स्थान पर पैराम को बदलना होगा – getit
मेरा उत्तर देखें :) –