2008-11-10 17 views
11

मैं इस मार्ग नक्शाASP.NET MVC मार्गों

routes.MapRoute("Blog_Archive", 
       "Blog/Archive/{year}/{month}/{day}", 
       new { 
         controller = "Blog", 
         action = "archive", 
         year = "", 
         month = "", 
         day = "", 
         page = 0 
        }); 

के साथ मदद कर जब मैं http://localhost:5060/blog/Archive/2008/11 फोन की जरूरत है, यह वर्ष और माह ऊपर उठाता है और नियंत्रक को भेज देता है। लेकिन जब मैं http://localhost:5060/blog/Archive/2008
इसे नियंत्रक को भेजता है लेकिन वर्ष पैरामीटर शून्य है और अन्य सभी पैरामीटर भी हैं।

+1

स्पेल चेक – Nesizer

उत्तर

11

क्या आपके पास ब्लॉग/पुरालेख/{कुछ} के लिए कोई अन्य मार्ग है?

Routing Debugger का उपयोग यह देखने के लिए कि कौन सा मार्ग वास्तव में हिट हो जाता है, संभवतः यह उस मार्ग को मार नहीं रहा है।

+0

के लिए जेनफ यान धन्यवाद रूटिंग डीबगर की अत्यधिक अनुशंसा करें! –

+0

मेरी मदद की जांच के लिए धन्यवाद, यह अब काम करता है – Nesizer

3
public static void RegisterRoutes(RouteCollection routes) 
    { 

     routes.IgnoreRoute("{resource}.axd/{*pathInfo}"); 
     routes.IgnoreRoute("favicon.ico"); 

     routes.MapRoute(
      "Blog", 
      "Blog/{action}/{id}", 
      new 
      { 
       controller = "Blog", 
       action = "show", 
       id = "" 
      }); 

     routes.MapRoute("Blog_Archive", "Blog/Archive/{year}/{month}/{day}", 
      new { 
       controller = "Blog", 
       action = "archive", 
       year = "", 
       month = "", 
       day = "", 
       page =0 
      }); 

     routes.MapRoute(
      "Xfire",          
      "Xfire/{action}/{id}",      
      new 
      { 
       controller = "Xfire", 
       action = "show", 
       id = "" 
      }); 

     routes.MapRoute(
      "Photos",           
      "Photos/{action}/{id}",       
      new 
      { 
       controller = "Photos", 
       action = "show", 
       id = "" 
      }); 

     routes.MapRoute("About","About", 
         new 
         { 
          controller = "home", 
          action = "about" 
         }); 

     routes.MapRoute("Default", "{controller}/{action}/{id}", 
      new 
      { 
       controller = "Blog", 
       action = "show", 
       id = "" 
      }); 

     routes.MapRoute("Error", "{*url}", new 
     { 
      controller = "Home", 
      action = "Http404" 
     , 
     }); 

    } 

त्रुटि

routes.MapRoute("Blog","Blog/{action}/{id}", 
        new { 
      controller = "Blog", 
         action = "show", 
         id = "" 
         }); 

है पहले

routes.MapRoute("Blog_Archive", "Blog/Archive/{year}/{month}/{day}", 
        new { 
         controller = "Blog", 
         action = "archive", 
         year = "", 
         month = "", 
         day = "", 
         page =0 
         }); 
0

Subnus, मैं अपने कोड में पाया है कि आप routes.IgnoreRoute ("favicon.ico") है पाया; मुझे नहीं लगता कि यह एमवीसी 1.0 के साथ जरूरी है क्योंकि अवधि अब सही नजरअंदाज नहीं हुई है?

+0

यह प्रश्न मैं एएसपीनेट एमवीसी के बीटा 2 का सम्मान करता हूं और अब एमवीसी का रिलीज संस्करण नहीं है और सवाल अनदेखा मार्ग के बारे में नहीं था – Nesizer