W poprzednim poście pisałem o systemie routingu. Tym razem wykorzystamy tam zdobyte informacje, aby stworzyć nawigację na naszej stronie.
Wykorzystanie metody Html.ActionLink()
Najprostsza postać:
<%: Html.ActionLink("Link do akcji", "ListaProduktow") %>
Informacje jakie ona przekazuje to:
- wyświetlany tekst
- nazwę akcji która zostanie wywołana
- kontroler będzie ten sam z którego wywołano aktualny widok
Oczywiście możemy rozszerzyć tą postać:
<%: Html.ActionLink("Link do akcji", "ListaProduktow", new { id = 25 })%>
taka postać dodatkowo przekazuje wartości parametrów do akcji.
Generowanie odnośników na podstawie danych routingu
Możemy także wykorzystać bezpośrednio składnie routingu do generowani linków:
<%: Html.RouteLink("Link do akcji", new { controller="Produkt", action = "ListaProduktow", id = 34 }) %>
generuje następujący link:
<a href="/Produkt/ListaProduktow/34">Link do akcji</a>Przekierowanie z poziomu kontrolera:
Jeżeli chcemy kogoś przekierować do innej strony w naszej aplikacji, w metodzie kontrolera zwracamy obiekt typu RedirectToAction:
public ActionResult ListaProduktow(int id = 0)
{
string url = Url.Action("Index");
return RedirectToAction(url);
}Korzystanie z tras nazwanych
Jeżeli korzystamy z tras nazwanych, możemy także i to uwzględnić w naszym linku przekierowującym:
<%: Html.RouteLink("Link", "Default", new {action = "a"}) %>
Oczywiście tak nazwany routing musi istnieć (jeżeli nie otrzymamy wyjątek).
Brak komentarzy:
Prześlij komentarz