Как вызвать контроллер с помощью кнопки click asp.net MVC 4

Пожалуйста, я работаю на веб-сайте MVC, у меня есть страница поиска и другая форма поиска на индексной странице. Я хочу вызвать один и тот же контроллер страницы поиска, когда я нажимаю кнопку поиска с индексной страницы. Ниже приведена моя кнопка на индексной странице.

    <span class="input-group-btn">
      <button class="btn btn-info" type="button" id="addressSearch"   
          onclick="location.href='<%: @Url.Action("List", "Search") %>'">
     Search</button></span>

Список - мой поиск Действие со страницы поиска и Поиск - это имя контроллера. Когда я нажимаю кнопку выше, он возвращает url в форме

http://localhost:52050/ <%: %20/Поиск/Список %20% >

Показан неверный запрос. Я подозреваю его в моей маршрутизации, я не уверен, как это сделать, пожалуйста, любая помощь будет оценена.

Ниже показано, как моя маршрутизация

 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
            }
            );

Ответ 1

Вы смешиваете синтаксис бритвы и aspx, если ваш механизм просмотра бритва просто выполните это:

<button class="btn btn-info" type="button" id="addressSearch"   
          onclick="location.href='@Url.Action("List", "Search")'">

Ответ 2

Попробуйте следующее:

@Html.ActionLink("DisplayText", "Action", "Controller", route, attribute)

в вашем коде должно быть,

@Html.ActionLink("Search", "List", "Search", new{@class="btn btn-info", @id="addressSearch"})