在我的控制器中,我有4個ActionResult(顯示,搜索,修改和刪除)視圖。對於最後的3,有RedirectToAction()作爲Actionesult和路線我有一個自定義爲這樣:ASP.NET MVC和URL重寫
routes.RouteMap("Detail", "/Show/{id}", new { controller : "Administration", action : "Show", id : UrlParameters.Optional });
我需要添加URL參數2時,我得到的搜索結果。這2個參數在POST中發送。 如何在url重寫中添加此參數?
當我來到上查看
http://localhost/Show/1
搜索後
http://localhost/Show/1/foo/foo
感謝您的幫助:)
[編輯]一些測試後,我找到了解決辦法。 表單和控制器在POST中除非顯示(GET | POST)。
有兩條路線:
routes.MapRoute(
"RechercheEtablissementGucps",
"DetailGucps/{idGucps}/{CategorieEtablissementValue}/{SearchField}",
new { controller = "Administration", action = "AfficheDetailGuCPS", idGucps = UrlParameter.Optional, CategorieEtablissementValue = UrlParameter.Optional, SearchField = UrlParameter.Optional }
);
routes.MapRoute(
"Gucps", // Route name
"DetailGucps/{idGucps}", // URL with parameters
new { controller = "Administration", action = "AfficheDetailGuCPS", idGucps = UrlParameter.Optional } // Parameter defaults
);
我如果另一個動作是做
/DetailGucps/29/DIR/fr
你不能把一個POST在一個URL。 – SLaks 2011-05-12 20:57:51
嗯是的,但我不能在控制器或路由中添加此項? – 2011-05-12 21:03:18
作爲@Slaks說你不能把一個POST放在一個URL中。而且因爲有了路線,你就可以定義你的網址的樣子,那麼你不能。 – 2011-05-12 21:13:13