ASP.NET MVC - Strange routing issue, very simple route mismatch problem -
मुझे नुकसान हो रहा है ... यहाँ मेरा मार्ग है:
routes.MapRoute ("लैंगऑनली", "{भाषा}", नया {नियंत्रक = "होम", एक्शन = "रूट", भाषा = "एन"}, नई {language = @ "en | ja"});
यह www.domain.com/en से मेल खाता है, लेकिन नहीं मैच www.domain.com/ja < / Strong>।
हुह? मैं अभी तक किसी भी अन्य मार्गों पर टिप्पणी करने के लिए इतने दूर चला गया ... तरह का अटक गया। ; /
अपडेट: होम कंट्रोलर पर यहां रूट एक्शन है।
[CompressFilter] सार्वजनिक एक्शन रिजल्ट रूट () {यदि (! इज़ेनजीजी) रिडायरेक्ट टाईएक्शन ("इंडेक्स" , "बिज़", नया {b = ""}); वापसी अनुरोध। क्या अधिकृत है? देखें ("लॉग इन इनटूट"): देखें ("रूट"); }
यह एक भाषा पैरामीटर नहीं लेता है क्योंकि यह ऑनएक्शनएक्सास्टिंग में बेस नियंत्रक पर सेट किया जा रहा है, जैसे:
var l = (रूटाडेटा मान ["भाषा"] = नल)? रूटडेटा। मूल्य ["भाषा"]। ToString (): string.Empty; यदि (string.IsNullOrEmpty (l)) l = "en"; अगर (एल। कंटन ("एन")) {आईईएनजी = सच; एल = "एन"; } और {इज़ेंनीज = गलत; L = "ja"; } व्यूडेटा ["लैंग"] = एल। लेओवर (); भाषा = l.ToLower ();
अपने मार्ग के साथ पूरी तरह से मेरे लिए काम करता है इस सरल विन्यास की कोशिश करें:
मार्गों। MapRoute ("LangOnly", "{language}", नया {नियंत्रक = "होम", एक्शन = "इंडेक्स", भाषा = "एन"}, नई {language = @ "en | ja"}); मार्गों ("डिफ़ॉल्ट", // रूट नाम "{नियंत्रक} / {action} / {id}", // यूआरएल पैरामीटर के साथ नया {नियंत्रक = "होम", एक्शन = "इंडेक्स", id = ""} // पैरामीटर चूक);
और आपकी कार्यवाही:
सार्वजनिक कार्यप्रदर्शन सूचकांक (स्ट्रिंग भाषा) {.....
( मैं "इंडेक्स" यहां क्रिया के रूप में उपयोग कर रहा हूं, जाहिर है, इसे "रूट" में बदल दें यदि वह वास्तव में आपकी कार्रवाई का नाम है।)
Comments
Post a Comment