2009-07-22 46 views
0

原標題:不能固定配置錯誤路線形式張貼到錯誤的URL

我想使基於過濾器中的搜索(4個候選條件值)和由用戶輸入的標準。

我有以下途徑:

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

和下面的形式:

<% 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,並且儘可能多地看到我的路線中一切正常。

我該如何解決這個問題?提前致謝。

編輯:與菲爾提供的工具,我可以看到,如果我測試一個URL像

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

它,我希望路由匹配。但是,當我運行我的應用程序,並嘗試使用生成的URL之前貼在表格的形式爲:

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

我怎樣才能解決這個新的問題?

回答