尽管有过多的网址路由帖子,我还没有达到启发的主题。
我有一个MVC应用程序,工作很好,但我想得到幻想,并做一些网址重写,使我的用户更容易。
默认路线与通常路线略有不同:
routes.MapRoute(
"Default",
"{controller}/{action}/{query}",
new{ controller = "SomeController", action="Index", query = "" });
我想做的是重新路由URL
http://mysite.com/12345
routes.MapRoute(
"DirectToDetails",
"{query}",
new{ controller = "SomeController", action="Details" query="" });
routes.MapRoute(
"Default",
"{controller}/{action}/{query}",
new{ controller = "SomeController", action="Index", query = "" });
但结果却让人看不清
http://mysite.com/
它指向某个控制器/细节,而不是某个控制器/索引。
编辑:
routes.MapRoute(
"DirectToDetails",
"{query}",
new{ controller = "SomeController", action="Details" });
<% using (Html.BeginForm(
"Details",
"SomeController",
FormMethod.Post,
new { id = "SearchForm" })) { %>
<% Html.RenderPartial("SearchForm", Model); %>
<%= Html.ValidationMessageFor(model => model.Query) %>
<% } %>