2011-01-26 26 views
5

मैं अपने क्षेत्र के दो मार्गों, एक कस्टम और एक डिफ़ॉल्ट फ़ॉलबैक मार्ग है, नीचेरजिस्टर मार्गों

 var dashboardRoute = new DashboardRoute(
      ObjectFactory.GetInstance<PathResolver>(), 
      ObjectFactory.GetInstance<VirtualPathResolver>(), 
      null); 
     context.Routes.Add(dashboardRoute); 

     context.Routes.MapRoute(
      "Dashboard_Default", // Route name 
      "dashboard/{controller}/{action}/{id}", // URL with parameters 
      new { controller = "pages", action = "index", id = UrlParameter.Optional, area = "Dashboard" } // Parameter defaults 
     ); 

देखना काम नहीं कर रहा है, लेकिन जब मैं संदर्भ का उपयोग करता हूं। मैपराउट आखिरी मार्ग पर काम करता है लेकिन मेरे कस्टम रूट में GetVirtualPath का उपयोग एक्शनलिंक्स के लिए नहीं किया जाता है। मैंने सोचा था कि MapRoute सिर्फ संदर्भ का विस्तार था। मार्ग.क्या जोड़ें? मार्गों को डीबग करने का सबसे अच्छा तरीका क्या है? मैंने Phil Haacks मार्ग डीबग का उपयोग किया है, लेकिन यह मेरे कस्टम मार्ग के साथ काम नहीं करता है, क्या मार्गों को डीबग करने का कोई अन्य तरीका है?

मुझे वास्तव में यहां कुछ मदद चाहिए। मेरे डैशबोर्ड क्षेत्र में मेरे मार्ग पंजीकरण इस तरह दिखता है -

 var dashboardRoute = new PagesRoute(
      ObjectFactory.GetInstance<PathResolver>(), 
      ObjectFactory.GetInstance<VirtualPathResolver>(), 
      null); 
     context.Routes.Add("Dashboard", dashboardRoute); 

     context.MapRoute(
      "Dashboard_default", 
      "dashboard/{controller}/{action}/{id}", 
      new { controller = "dashboard", action = "index", id = UrlParameter.Optional } 
     ); 

PageRoute एक कस्टम मार्ग है और आप कोड यहाँ http://bit.ly/er6HPn इस मार्गों सक्रिय इस तरह एक लिंक महान Html.ActionLink काम करता है के साथ प्राप्त कर सकते हैं ("प्रबंधित भूमिकाएं "," प्रबंधक "," खाता ") लेकिन जब मेरे पास एक लिंक है जो इस एचटीएमएल जैसे मेरे कस्टम रूट के साथ काम करना चाहिए। एक्शनलिंक (पेज। मेटाडेटा नाम," संपादित करें "," पेज ", नया {दस्तावेज़ = पृष्ठ} , शून्य) परिणाम http://stormbreaker.local/dashboard/pages/edit?document=Stormbreaker.Example.Models.Page है, इसका मतलब है कि मेरे पेजरेट में GetVirtualPath का कभी भी उपयोग नहीं किया जाता है। क्या कोई मुझे रास्ता बता सकता है और मैं इसे कैसे ठीक कर सकता हूं? धन्यवाद -

उत्तर

7

यह हल, आप रजिस्टर, तो एक कस्टम RouteCollection वस्तु में उदाहरण RouteBase, IRouteWithArea इंटरफ़ेस आपको सहयोगी है कि एक क्षेत्र के साथ RouteBase उदाहरण

+0

यह सिर्फ एक समस्या मैं हो रही थी हल देता है! – RPM1984

संबंधित मुद्दे