2015-02-12 17 views
10

Proszę, pracuję na stronie MVC, mam stronę wyszukiwania i inny formularz wyszukiwania na stronie indeksu. Chcę wywołać ten sam kontroler strony wyszukiwania po kliknięciu przycisku wyszukiwania na stronie indeksu. Poniżej znajduje się opis mojego przycisku na stronie indeksu.Jak wywołać kontroler z przycisku kliknij w asp.net MVC 4

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

Lista to moje wyszukiwanie Działanie ze strony wyszukiwania i Wyszukaj to nazwa kontrolera. Po kliknięciu na przycisk powyżej, zwraca adres URL w postaci

http://localhost:52050/ <%: 20%/Szukaj/Lista% 20%>

pokazujące złe żądania. Podejrzewam, że to jest z mojego Routingu, nie jestem pewien, jak to archiwizować. Proszę o pomoc.

Poniżej jest jak moja Routing jest

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

wykorzystanie @ Html.ActionLink() zamiast przycisku dla celów nawigacji –

Odpowiedz

21

Jesteś mieszanie maszynkę i aspx składni, jeśli widok silnik jest brzytwa po prostu to zrobić:

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

Dziękuję człowieka. Nigdy jednak nie miało to znaczenia. Dziękuję bardzo –

+0

@NuruSalihu powinieneś uczyć się silników widoków w asp.net mvc –

+0

Yah to zrobi, teraz mając dość trudny czas z wybraną wartością Dropdown. To się nie zmienia. :( –

6

Wypróbuj to:

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

w kodzie powinno być,

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