Skip to content

Навигација

Четири типа навигације:

  • навигација на страни клијента (енгл. Client-side Navigation),
  • објављивање међу страницама (енгл. Cross-page Posting),
  • преусмеравање прегледача на страни клијента (енгл. Client-Side Browser Redirect) и
  • трансфер на страни сервера (енгл. Server-side Transfer).

Client-side Navigation

Нека веб апликација има две форме, WebForm1.aspx и WebForm2.aspx. Помоћу серверске контроле HyperLink обезбеди линкове на формама.

WebForm1.aspx markup:

            <h1>Forma 1</h1>
            <br />
            <asp:HyperLink ID="hlForm2"
                NavigateUrl="~/WebForm2.aspx"
                runat="server">Idi na Formu 2</asp:HyperLink>

WebForm2.aspx markup:

            <h1>Forma 2</h1>
            <br />
            <asp:HyperLink ID="hlForm1"
                NavigateUrl="~/WebForm1.aspx"
                runat="server">Idi na Formu 1</asp:HyperLink>

Cross-page Posting

Нека веб апликација има две форме, WebForm1.aspx и WebForm2.aspx. Помоћу серверске контроле Button обезбеди линк са прве на другу форму. Нека прва форма садржи и TextBox, а друга Label. Преласком са прве на другу форму, упиши текст из TextBox-а са прве у Label на другој форми.

WebForm1.aspx markup:

            <h1>Forma 1</h1>
            <br />            
            <asp:TextBox ID="txtPodaci"
                runat="server"></asp:TextBox>
            <br />
            <asp:Button ID ="btnOtvori"
                Text="Otvori Formu 2"
                PostBackUrl="~/WebForm2.aspx"
                runat="server"  />

WebForm2.aspx markup:

            <h1>Forma 2</h1>
            <br />
            <asp:Label ID="lblPoruka"
                runat="server"></asp:Label>

WebForm2.aspx.cs code behind:

        protected void Page_Load(object sender, EventArgs e)
        {
            if (Page.PreviousPage == null)
                lblPoruka.Text = "Nema podataka sa prethodne strane!";
            else
                lblPoruka.Text = Server.HtmlEncode(((TextBox)PreviousPage.FindControl("txtPodaci")).Text);
        }

Послати “јако типизирани” подаци

Исти текст задатка – нека веб апликација има две форме, WebForm1.aspx и WebForm2.aspx. Помоћу серверске контроле Button обезбеди линк са прве на другу форму. Нека прва форма садржи и TextBox, а друга Label. Преласком са прве на другу форму, упиши текст из TextBox-а са прве у Label на другој форми.

WebForm1.aspx markup:

            <h1>Forma 1</h1>
            <asp:TextBox ID="txtPodaci"
                runat="server"></asp:TextBox>
            <br />
            <asp:Button ID ="btnOtvori"
                Text="Otvori Formu 2"
                PostBackUrl="~/WebForm2.aspx"
                runat="server"  />

WebForm1.aspx.cs code behind:

        public string PodaciForme1
        {
            get { return txtPodaci.Text; }
        }

WebForm2.aspx markup:

            <%@ PreviousPageType VirtualPath="~/WebForm1.aspx" %>
            <h1>Forma 2</h1>
            <br />
            <asp:Label ID="lblPoruka"
                runat="server"></asp:Label>

WebForm2.aspx.cs code behind:

        protected void Page_Load(object sender, EventArgs e)
        {
            if (PreviousPage == null)
                lblPoruka.Text = "Nema podataka sa prethodne strane!";
            else
                lblPoruka.Text = PreviousPage.PodaciForme1;
        }

Client-Side Browser Redirect

Нека веб апликација има две форме, WebForm1.aspx и WebForm2.aspx. Помоћу серверске контроле Button обезбеди линк са прве на другу форму.

WebForm1.aspx markup:

            <h1>Forma 1</h1>
            <br />            
            <asp:Button ID ="btnOtvori"
                Text="Otvori Formu 2"
                OnClick="btnOtvori_Click"
                runat="server"  />

WebForm1.aspx.cs code behind:

        protected void btnOtvori_Click(object sender, EventArgs e)
        {
            Response.Redirect("~/WebForm2.aspx");
        }

WebForm2.aspx markup:

<h1>Forma 2</h1>

Server-Side Transfer

Нека веб апликација има две форме, WebForm1.aspx и WebForm2.aspx. Помоћу серверске контроле Button обезбеди линк са прве на другу форму.

WebForm1.aspx markup:

            <h1>Forma 1</h1>
            <br />            
            <asp:Button ID ="btnOtvori"
                Text="Otvori Formu 2"
                OnClick="btnOtvori_Click"
                runat="server"  />

WebForm1.aspx.cs code behind:

        protected void btnOtvori_Click(object sender, EventArgs e)
        {
            Server.Transfer("~/WebForm2.aspx", false);
        }

WebForm2.aspx markup:

<h1>Forma 2</h1>