wtorek, 17 sierpnia 2010

ASP.NET MVC 2 cz. 3 Nawigaca przy użyciu danych routingu

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