2009-07-22 6 views
0

Titre original: Impossible fixe itinéraires misconfiguredformulaire est envoyez des messages URL erronée

Je veux faire une recherche basée sur un filtre (avec 4 valeurs possibles) et un critère entré par l'utilisateur.

J'ai les routes suivantes:

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

routes.MapRoute(
    "SubLineasProductosDefault",          
    "SubLineasProductos.aspx/Create",       
    new { controller = "SubLineasProductos", action = "Create" } 
); 

routes.MapRoute(
    "SubLineasProductosSearch",          
    "SubLineasProductos/Buscar.aspx/{filtro}/{criterio}", 
    new { controller = "SubLineasProductos", action = "Buscar"} 
); 

routes.MapRoute(
    "SubLineasProductos",          
    "SubLineasProductos.aspx/{id}",       
    new { controller = "SubLineasProductos", action = "Index", id = "" } 
); 

routes.MapRoute(
    "Default",            
    "{controller}.aspx/{action}/{id}",       
    new { controller = "Home", action = "Index", id = "" } 
); 

routes.MapRoute("Root", "", new { controller = "Home", action = "Index", 
    id = "" }); 

et la forme suivante:

<% using (Html.BeginForm("Buscar", "SubLineasProductos", 
    FormMethod.Get)) { %> 
    <%= Html.Hidden("filtro", "nombre") %> 
    <%= Html.TextBox("criterio") %> 
    <button type="submit" title="Buscar"> 
     <img src='<%= Url.Content("") %>' alt="" /> 
    </button> 
<% } %> 

Le formulaire ne réoriente à l'action Buscar, mais à l'indice d'action dans le contrôleur SubLineasProductos. Je pense que j'ai tort mes itinéraires, mais je ne sais pas comment les réparer. J'ai lu this post, et autant je peux voir tout va bien dans mes routes.

Comment puis-je résoudre ce problème? Merci d'avance.

EDIT: Avec l'outil fourni par Phil je peux voir que si je teste une URL comme

http://localhost/MyApp/SubLineasProductos/Buscar.aspx/nombre/block

elle correspond à la route que je veux. Mais quand je lance mon application et essayer d'utiliser le formulaire affiché avant l'URL générée a la forme:

http://localhost/MyApp/SubLineasProductos.aspx/Buscar?filtro=nombre&criterio=block

Comment puis-je résoudre ce nouveau problème?

Répondre

Questions connexes