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

Popular posts from this blog

c# - ListView onScroll event -

PHP - get image from byte array -

Linux Terminal Problem with Non-Canonical Terminal I/O app -