Good time! There was a problem displaying the route in the input URL browser. To the search page on the site. The search itself is working fine - the "key" is passed, the list of found displayed. Search method in the controller takes an argument of type string for which to search:
public ActionResult SearchAllByKey(string key)
{
//logic
return View(
}
In Global.asax prescribed route:
routes.MapRoute(
"Search",
"Search/{key}",
new { controller = "controller_name", action = "SearchAllByKey", key = UrlParameter.Optional }
);
Form which sends the value of Edit to method from View:
<% using (Html.BeginForm("SearchAllByKey", "controller_name", FormMethod.Post, new { enctype = "multipart/form-data" }))
{%>
<%: Html.ValidationSummary(true) %>
<% } %>
When you click on "Go!". to a page of search results, but the URL (input line browser) shows:
http://localhost:PORT/Search
instead of:
http://localhost:PORT/Search/SOME_KEY
How to make sure that was visible "key" in the URL-e? Thanks in advance
Voprosec KryzhPosted Jan 8, 2013, 3:32 AM
In View:
<% using (Html.BeginForm("Search", "Home", FormMethod.Post)) {%>
<% Html.ValidationSummary(true); %>
<% } %>
Add method to controller:
[HttpPost]
public ActionResult Search(FormCollection form)
{
return RedirectToAction("SearchAllByKey", new { key = form["key"] });
}
Thanks LeftyX.
Voprosec KryzhPosted Jan 7, 2013, 6:44 PM
localhost:PORT/Search?key=nature
but should be:
localhost:PORT/Search/nature