2013-10-01 3 views
0

J'ai un projet asp.net MVC contenant 4 zones.Le routage de zone ASP.NET MVC ne reconnaît pas l'ID

Mon problème commence lorsque j'essaie de placer un paramètre dans une de mes actions dans un contrôleur appartenant à une zone.

Mon RouteConfig:

public static void RegisterRoutes(RouteCollection routes) 
     { 
      routes.IgnoreRoute("{resource}.axd/{*pathInfo}"); 

      routes.MapRoute(
       name: "Default", 
       url: "{controller}/{action}/{id}", 
       defaults: new { controller = "Home", action = "Index", id = UrlParameter.Optional } 
      ); 
     } 

Mon AreaRegistration:

public override void RegisterArea(AreaRegistrationContext context) 
     { 
      context.MapRoute(
       "bg_default", 
       "bg/{controller}/{action}/{id}", 
       new { controller="jde",action = "Index", id = UrlParameter.Optional } 
      ); 
     } 

Voici une action dans mon contrôleur. quand je le débogue, les paramètres _what string obtiennent le nom de l'action "NullifiedInvoicesFix".

quand je tape monsite/bg/Jde/NullifiedIncoicesFix/mise à jour, _Quels n'est pas "mise à jour", mais "NullifiedInvoicesFix"

public ActionResult NullifiedInvoicesFix(string _what) 
     { 
      if (_what == "view") 
      { 
       ViewBag.F4211 = this.db.Query<dynamic>(@"SELECT sdivd,SDDOC,SDDCT,SDDOCO,SDDCTO,SDODOC,SDODCT FROM F4211 WHERE SDDCT IN 
                ('E8','E9','E0','EP','EC','EB','ED') AND SDODOC <> SDDOC AND 
                SDODOC<>0 order by sdivd");  
      } 
      return View(); 
+1

où vient _Quels devrait venir? Je ne le vois pas dans votre définition d'itinéraire. Avez-vous veillé à enregistrer vos zones avant vos itinéraires plus généraux? – jbl

Répondre

1

Vous devez renommer _Quels à id:

public ActionResult NullifiedInvoicesFix(string id) 
+0

oh mon dieu !! , Désolé les gars pour perdre votre temps !!!! – e4rthdog