2009-06-15 8 views
1
routes .Add ("Detail", 
       new Route ("{maincategory}/{category}", 
          new RouteValueDictionary (new { controller = "Category", action = "Detail"}), 
          new RouteValueDictionary (new { category = new FromValuesListConstraint ("")}), 
          new MyRouteHandler())); 

     routes.Add("Category", 
       new Route("{category}", 
          new RouteValueDictionary(new { controller = "Category", action = "Index", category = "" }), 
          new RouteValueDictionary(new { category = new FromValuesListConstraint("") }), 
          new MyRouteHandler())); 

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

     ); 

Meine Routen sind wie folgt. Aber wenn ich die Website starte, wird die Startseite angezeigt. Nachdem die Startseite angezeigt wird, passiert etwas und es wird erneut eine neue Aufgabe gemacht (ich weiß nicht warum). Ich überschreibe den MvcRouteHandler und platziere einen Haltepunkt darin.Asp.Net Mvc RouteData ist mit falschen Parametern gefüllt

public class MyRouteHandler : MvcRouteHandler 
{ 
    protected override IHttpHandler GetHttpHandler(RequestContext requestContext) 
    { 
     var url = HttpContext.Current.Request.RawUrl; 
     var route = requestContext.RouteData; 
     return new MvcHandler(requestContext); 
    } 
} 

URL-Variable ist /Content/Divider.gif. Aus diesem Grund gibt die Anwendung nach der angezeigten Homepage einen Fehler aus. Ich habe alles versucht, um das Problem als Novize-MVC-Benutzer zu verstehen. Aber ich konnte nichts finden.

Danke!

+0

Könnten Sie bitte eine umfassende Lösung für den Begriff "Divider.gif" suchen und sehen, wo Sie es verwenden? Ist es in einer Masterseite, Ansicht? –

+0

divider.gif ist in der Css-Datei. Hintergrund: transparente URL ('divider.gif') Aber es gibt keine Datei in meiner Lösung so. Ich benutze ein altes CSS von meiner Freunde-Website –

Antwort

1

Existiert die Datei /Content/Divider.gif auf Ihrer Website?

Es ist wahrscheinlich, dass es versucht, es als eine Route auszuführen, weil die Datei nicht existiert und das ist die Quelle Ihres Problems.

Verwandte Themen