ASP.Net MVC रूटिंग मॉड्यूल आने वाले ब्राउज़र अनुरोधों को विशेष MVC नियंत्रक क्रियाओं के लिए मैप करने के लिए ज़िम्मेदार है। जब ASP.NET MVC एप्लिकेशन लॉन्च होता है तो एप्लिकेशन रूटिंग इंजन को यह बताने के लिए फ्रेमवर्क की रूट टेबल के साथ एक या अधिक पैटर्न पंजीकृत करता है कि उन पैटर्न से मेल खाने वाले किसी भी अनुरोध के साथ क्या करना है। जब रूटिंग इंजन को रनटाइम पर एक अनुरोध प्राप्त होता है, तो यह उस अनुरोध के URL को उसके साथ पंजीकृत URL पैटर्न से मिलाता है और एक पैटर्न मिलान के अनुसार प्रतिक्रिया देता है।
ASP.NET ने प्रत्येक URL को अभौतिक फ़ाइल के साथ मैप करने की ज़रूरतों को समाप्त करने के लिए रूटिंग की शुरुआत की। रूटिंग हमें एक URL पैटर्न को परिभाषित करने में सक्षम बनाता है जो रिक्वेस्टहैंडलर को मैप करता है। System.Web.Routing का उपयोग MVC फ्रेमवर्क द्वारा किया जाता है, लेकिन इसका उपयोग ASP.NET डायनेमिक डेटा द्वारा भी किया जाता है। एमवीसी ढांचा नियंत्रक को अनुरोध को निर्देशित करने के लिए रूटिंग का लाभ उठाता है। Global.asax फ़ाइल हमारे आवेदन का वह भाग है, जहाँ हम अपने आवेदन के लिए मार्ग को परिभाषित करेंगे।
नीचे एक MVC एप्लिकेशन का रूट कॉन्फिगर है -
public class RouteConfig{ public static void RegisterRoutes(RouteCollection routes){ routes.IgnoreRoute("{resource}.axd/{*pathInfo}"); routes.MapRoute( name: "Default", url: "{controller}/{action}/{id}", defaults: new { controller = "Home", action = "Index", id = UrlParameter.Optional } ); } }
मार्ग का नाम
मार्ग एक यूआरएल पैटर्न है जिसे एक हैंडलर से मैप किया जाता है। एक हैंडलर MVC एप्लिकेशन में एक नियंत्रक हो सकता है जो अनुरोध को संसाधित करता है। किसी रूट नाम का उपयोग किसी दिए गए मार्ग के विशिष्ट संदर्भ के रूप में किया जा सकता है।
बाधाएं
URL पैटर्न के विरुद्ध लागू करने के लिए बाधाओं का एक सेट, जो URL से मेल खाता है, उसे अधिक संक्षिप्त रूप से परिभाषित करता है।
यूआरएल पैटर्न
URL पैटर्न में शाब्दिक मान और परिवर्तनशील प्लेसहोल्डर हो सकते हैं। शाब्दिक और प्लेसहोल्डर URL के उन खंडों में स्थित होते हैं जिन्हें स्लैश (/) वर्ण द्वारा सीमांकित किया जाता है।
जब कोई अनुरोध किया जाता है, तो यूआरएल को सेगमेंट और प्लेसहोल्डर्स में पार्स किया जाता है, और अनुरोध हैंडलर को परिवर्तनीय मान प्रदान किए जाते हैं। यह प्रक्रिया उसी तरह है जैसे क्वेरी स्ट्रिंग में डेटा को पार्स किया जाता है और अनुरोध हैंडलर को पास किया जाता है। दोनों ही मामलों में परिवर्तनीय जानकारी को यूआरएल में शामिल किया जाता है और कुंजी-मूल्य जोड़े के रूप में हैंडलर को पास किया जाता है। क्वेरी स्ट्रिंग के लिए दोनों कुंजी और मान URL में हैं। मार्ग के लिए, कुंजियाँ URL प्रतिमान में परिभाषित प्लेसहोल्डर नाम हैं, और केवल मान URL में हैं।
डिफ़ॉल्ट
जब हम एक मार्ग परिभाषित करते हैं, तो हम एक पैरामीटर के लिए एक डिफ़ॉल्ट मान निर्दिष्ट कर सकते हैं। डिफ़ॉल्ट एक ऑब्जेक्ट है जिसमें डिफ़ॉल्ट रूट मान होते हैं। डिफ़ॉल्ट रूट के तीन खंडों में नियंत्रक, क्रिया और आईडी होते हैं।
उपरोक्त URL में, संबंधित नियंत्रक और क्रिया का मिलान किया जाएगा। अगर हम यूआरएल में कंट्रोलर और एक्शन मेथड नहीं भेज रहे हैं और डिफॉल्ट रूट के आधार पर संबंधित कंट्रोलर एक्शन मेथड को लागू किया जाएगा।