在我的控制器中,我有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