जवाबों:
क्रिया और मार्गों का 1: 1 संबंध नहीं है।
एक्शनलिंक URL को एक्शन नाम से पहले मिलान मार्ग का उपयोग करके एक्शन में लाने के लिए जनरेट करेगा।
रूटलिंक एक विशेष मार्ग को नाम या मार्ग मूल्यों द्वारा निर्धारित URL उत्पन्न करेगा।
दरअसल, दो तरीकों से आउटपुट समान है, लेकिन यह थोड़ा अलग तरीकों से उत्पन्न होता है:
Html.ActionLink()
ActionLinks को तेजी से जनरेट करना आसान बनाता है, और आपको जो प्रदान किया गया है, उस पर आपको मूल नियंत्रण देगा। यदि आपके पास बहुत अधिक मार्ग नहीं हैं, या आपको बहुत अधिक या बहुत विशिष्ट जानकारी देने की आवश्यकता नहीं है, तो यह ठीक काम करेगा।
Html.RouteLink()
विधि थोड़ा अलग तर्क लेता है, और इस तरह आप जिस तरह से चीजें नियंत्रित किया जाता है से अधिक एक छोटे और अधिक विस्तृत नियंत्रण देता है। मैं इस पद्धति का उपयोग तब करता हूं जब मेरा परिदृश्य थोड़ा अधिक जटिल होता है, या जब मेरे पास अधिक विस्तृत मार्ग संरचना होती है।
एक उदाहरण एक हालिया परियोजना है जहां मैंने (लचीलेपन के लिए) कई अलग-अलग मार्ग थे, जो सभी काफी सरल थे, एक जटिल एक की तुलना में जो बहुत सारी जानकारी के लिए अनुमति देगा। इस प्रकार, मैं एक ही नियंत्रक के लिए चार या पाँच मार्गों के साथ समाप्त हो गया, सभी एक डिफ़ॉल्ट कार्रवाई निर्दिष्ट के साथ। मैंने ज्यादातर इस्तेमाल कियाRouteLink
संस्करण का , क्योंकि जब मैंने एक मार्ग का नाम निर्दिष्ट किया, तो डिफ़ॉल्ट पैरामीटर स्वचालित रूप से दर्ज किए गए थे।
जैसा आप चाहते हैं, उनका उपयोग करें और जैसा कि वे आपके प्रोजेक्ट के लिए समझ में आते हैं। उनमें से किसी के लिए वास्तव में कोई उल्टा / नकारात्मक नहीं है (जो किसी और से मेल नहीं खाता है ...)।
यहां दिए गए अन्य उत्तरों के अलावा, रूटलिंक थोड़ा तेज़ है, और कभी भी गलत मार्ग से मेल नहीं खा सकता है क्योंकि आपने अपनी रूटिंग तालिका बदल दी है।
रूटलिंक एक मार्ग का नाम लेता है, इसलिए यदि आपके मार्ग के नाम विश्वसनीय और काफी विशिष्ट हैं तो यह वही होगा, भले ही कार्रवाई का नाम बदल दिया जाए। इसके बजाय किसी विशिष्ट नियंत्रक की विशिष्ट कार्रवाई के लिए एक्शन लिंक लिंक करें। मैं अपने विचारों में दोनों का उपयोग करता हूं, इस बात पर निर्भर करता है कि मैं किस तरह के लिंक के बाद हूं!