2010-10-09 2 views
2

J'essaie d'ajouter une section FAQ à un site Web sur lequel je travaille et je veux ignorer toute action ou identifiant qui est ajouté à l'URL.ASP.NET MVC2 Route Mapping ignorer l'action et l'ID

La méthode RegisterRoutes du fichier Global.asax.cs a été modifiée en;

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

    routes.MapRoute(
     "FAQ", 
     "FAQ", 
     new {controller = "FAQ", action= "Index"}); 

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

Le FAQController.cs ressemble à ceci;

public class FAQController : Controller 
{ 
    private FAQModel _faq = new FAQModel(); 

    public ActionResult Index() 
    { 
     return View(_faq.GetFAQ()); 
    } 
} 

Mais cela ne semble pas fonctionner, je me demandais si quelqu'un pouvait me pointer dans la bonne direction de la façon de le faire.

Merci pour toute aide à l'avance

Satal :)

+0

« Mais cela ne semble pas fonctionner » - comment les tests vous, et ce que les résultats voyez-vous? – bzlm

+0

Je le teste en appuyant sur "Démarrer le débogage" dans l'EDI VS 2010 et en essayant de naviguer vers/FAQ/1, quand j'y vais, je reçois le message par défaut 404. – Satal

Répondre

1

Essayez ceci:

routes.MapRoute(
    "FAQ", 
    "FAQ/{*pathInfo}", 
    new { controller = "FAQ", action = "Index" } 
); 
+0

Merci génial, c'était exactement ce dont j'avais besoin :) – Satal