2012-04-24 9 views
7

मेरे पास 9 नियंत्रकों के साथ एक बड़ी परियोजना है। अब परियोजना के अंत में यूआरएल आवश्यकता परिवर्तन बदल गया है। इस स्थिति से निपटने के लिए सबसे अच्छा कैसे - नियंत्रक का नाम बदलने अभी भी बोझिल लगता है ... मैं servercode और जावास्क्रिप्ट में सभी लिंकनियंत्रकों का नाम बदलें asp.net mvc

+0

आप आईआईएस यूआरएल रिवाइट – Chandermani

+0

रीशेर्पर 6 भी देख सकते हैं जो नौकरी करता है .. –

+0

यह भी ध्यान दें: आप सी # विधि नामकरण नियमों के उल्लंघन में यूआरएल में निर्दिष्ट किए जाने वाले कार्यों में डैश का उपयोग कर सकते हैं (यह लिया गया मुझे सीखने के लिए थोड़ी देर बाद)। देखें: http://stackoverflow.com/questions/30310/asp-net-mvc-how-do-i-enable-dashes-in-my-urls – Faust

उत्तर

6

आपकी समस्या अपने मौजूदा मार्गों को बदलने के द्वारा हल किया जा सकता। अपने Global.asax में आप इस

routes.MapRoute(
      "Default", // Route name 
      "{controller}/{action}/{id}", // URL with parameters 
      new { controller = "Home", action = "Index", id = UrlParameter.Optional } // Parameter defaults 
     ); 

नियंत्रक, कार्रवाई और ईद के लिए एक यूआरएल '/ नियंत्रक/कार्रवाई/ईद' के नक्शे कि तरह एक कोड टुकड़ा मिल जाएगा। आप इस

routes.MapRoute(
      "RefactoredRoute", // Route name 
      "SomeChangedURLBase/{action}/{id}", // URL with parameters 
      new { controller = "Controller", action = "Index", id = UrlParameter.Optional } // Parameter defaults 
     ); 

जैसे मार्ग/नियंत्रक द्वारा संभाले जाने के लिए अनुरोधों को रूट करने के लिए मार्ग प्रदान कर सकते हैं।

ध्यान रखें कि इन मार्गों को डिफ़ॉल्ट मार्ग से पहले पंजीकृत किया जाना चाहिए ताकि विचारों में उत्पन्न लिंक डिफ़ॉल्ट मार्ग पर इंगित हो जाएं और पुराना यूआरएल उत्पन्न हो।

+0

एक बिंदु जिसे मैंने कार्यान्वित करने के बाद महसूस किया: मेरे ब्राउज़र के अंदर मैं अभी भी देखता हूं यदि मैं नियमित रूप से एप्लिकेशन ब्राउज़ करता हूं तो पुराने यूआरएल, लेकिन मेरे नए यूआरएल स्वीकार किए जाते हैं। इसे बदलने का कोई तरीका - ताकि नए यूआरएल दिखाए जा सकें? –

+0

यह रूट ऑर्डरिंग/एक्शनलिंक बिल्डिंग के साथ एक समस्या हो सकती है। आप लिंक उत्पन्न करने के लिए एक्शनलिंक्स के बजाय रूटलिंक का उपयोग कर सकते हैं। – saintedlama

+0

यदि आप अपने पृष्ठों पर एक्शनलिंक का उपयोग कर रहे हैं, और उन्हें नियंत्रक और क्रिया पर इंगित करते हैं, तो यह नए यूआरएल का उपयोग करेगा यदि इसे रूट संग्रह में पुराने से पहले रखा गया हो। –