Please i am working on MVC website, i have a Search page and another search form on index page. I want to call the the same search page controller when i click the search button from index page. Below is how my button is on the index page.
<span class="input-group-btn">
<button class="btn btn-info" type="button" id="addressSearch"
onclick="location.href='<%: @Url.Action("List", "Search") %>'">
Search</button></span>
List is my search Action from search page and Search is the controller name. When i click the button above, it returns url in the form
http://localhost:52050/ <%:%20/Search/List%20%>
Showing bad request . I am suspecting its from my Routing , I am not sure how to archieve this, Please any help would be appreciated .
Below is how my Routing is
routes.MapRoute(
name: null,
url: "Page{page}",
defaults: new { Controller = "Search", action = "List" }
);
routes.MapRoute(
name: "Default",
url: "{controller}/{action}/{id}",
defaults: new
{
controller = "Home",
action = "Index",
id = UrlParameter.Optional
}
);
You are mixing razor and aspx syntax,if your view engine is razor just do this:
<button class="btn btn-info" type="button" id="addressSearch"
onclick="location.href='@Url.Action("List", "Search")'">
Try this:
@Html.ActionLink("DisplayText", "Action", "Controller", route, attribute)
in your code should be,
@Html.ActionLink("Search", "List", "Search", new{@class="btn btn-info", @id="addressSearch"})
The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.