मेरे पास कई मार्गों के साथ एक एमवीसी 3 ऐप है। उनमें से दो इस तरह परिभाषित कर रहे हैं:यूआरएल.एक्शन अपेक्षित परिणाम नहीं देता है। अनचाहे मार्ग मान
routes.MapRoute(
null,
"System/{name}", // URL with parameters
new { controller = "Systems", action = "Index" } // Parameter defaults
);
routes.MapRoute(
null,
"Carrier/{name}", // URL with parameters
new { controller = "Carriers", action = "Index" } // Parameter defaults
);
अब, मेरे मेनू में मुझे लगता है कि Url.Action का उपयोग कर बनाई गई हैं इन मार्गों को दो लिंक है:
Url.Action("Index","Systems")
Url.Action("Index","Carriers")
अब जब मैं आवेदन शुरू, सब कुछ ठीक लगता है, और मेनू में लिंक /System/
और /Carrier/
के रूप में दिखाए जाते हैं, और यह अपेक्षित मूल्य है।
हालांकि, जब मैं वेब पेज में उदाहरण /System/MySystem
के लिए करने के लिए ब्राउज़ करें मैं अभी भी लिंक एक ही जगह पर बात करने के लिए चाहते हो जाएगा, लेकिन अब वे /System/MySystem
और /Carrier/MySystem
को इंगित।
मैंने लिंक मूल्य से नाम का उपयोग करने से लिंक रखने के लिए कई चीजों की कोशिश की है, लेकिन इसका कोई फायदा नहीं हुआ है। अजीब मामले मैं अनुभव था, जब मैं इस की कोशिश की:
Url.Action("Index","Systems", new{name = (string)null})
अब लिंक
/System?name=MySystem
के रूप में दिखाई कि यहां किसी भी अच्छा तरीका यह सुनिश्चित करें कि मार्ग मूल्यों से नाम मूल्य नहीं है बनाने के लिए कर रहे हैं किसी भी तरह से इन लिंक के साथ interfer?
मैं कुछ और सुरुचिपूर्ण के लिए भी उम्मीद कर रहा था, लेकिन कम से कम यह काम पूरा हो जाता है। धन्यवाद। –