c# - Overloaded routes in MVC -
मुझे निम्न यूआरएल उत्पन्न करना है
http://example.com/ मार्ग / ए और
http://example.com/routes/alpha-to-beta और इस लागू करने के लिए, मैं Global.asax
फ़ाइल
routes.MapRoute ( "मार्गों", // मार्ग नाम "मार्गों / {routeName के दो मार्गों को शामिल किया है } ", // मापदंडों के साथ यूआरएल नया {controller =" busroute ", एक्शन =" सिंगलआरआउट "} // पैरामीटर चूक); routes.MapRoute ( "alpharoutes", // मार्ग नाम "मार्गों / {alphRoute}", // नई मानकों के साथ URL {नियंत्रक = "busroute", कार्रवाई = "AlphabetRoute"} // पैरामीटर चूक);
हालांकि, यह उद्देश्य के रूप में काम नहीं करता है लिंक पर क्लिक करें मुझे केवल पंजीकृत कार्रवाई में ले जाता है।
कृपया इस कार्यान्वयन में क्या गलत है, कृपया सूचित करें।
आप एक मार्ग बाधा की जरूरत है:
सार्वजनिक वर्ग SingleCharacterConstraint: IRouteConstraint {सार्वजनिक bool मैच (HttpContextBase HttpContext, मार्ग मार्ग, स्ट्रिंग parameterName, RouteValueDictionary मूल्यों, routeDirection routeDirection) { अगर (! Values.ContainsKey (parameterName)) गलत लौटाता है; Var पैरामीटरवैल्यू = (स्ट्रिंग) मान [parameterName]; रिटर्न! स्ट्रिंग। इज़नल ऑर व्हाईटस्पेस (पैरामीटरवैल्यू) & amp; amp; ParameterValue.Length == 1; }}
फिर अपने नक्शे को पुन: व्यवस्थित, और बाधा जोड़ें:
routes.MapRoute ( "alpharoutes", // मार्ग नाम "मार्गों / {alphRoute busroute ", कार्रवाई =" AlphabetRoute "}, // पैरामीटर नई चूक}" नया पैरामीटर {नियंत्रक = साथ, // URL "{alphRoute = नए SingleCharacterConstraint ()}, // बाधा); routes.MapRoute ( "मार्गों", // मार्ग नाम "मार्गों / {routeName}", // नई मानकों के साथ URL {नियंत्रक = "busroute", कार्रवाई = "SingleRoute"} // पैरामीटर चूक);
Comments
Post a Comment