2009-07-22 12 views
0

オリジナルタイトルを掲示される:が誤って設定ルートフォームは、間違ったURLに

私は(4つのpossibles値で)フィルタに基づいて検索をしたいと、ユーザーが入力した条件を固定することはできません。

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 = "" }); 

と以下の形式:

Iは以下の経路有する

<% 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> 
<% } %> 

を形成するアクションBuscarに、しかしSubLineasProductosコントローラに動作指数にリダイレクトされません。私は私のルートが間違っていると思うが、私はそれらを固定する方法を知らない。私はthis postを読みました。私のルートでは、すべてがうまくいっていることがわかります。

どうすればこの問題を解決できますか?前もって感謝します。

編集:私は、私は

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

のようなURLをテストする場合、それは私が欲しいのルートと一致していることを見ることができるフィルが提供するツールで。私は自分のアプリケーションを実行し、生成されたURLの前にポストされたフォームを使用しようとすると、しかし、形式は次のとおりです。

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

どのように私はこの新しい問題を解決することができますか?

答えて