Professional Documents
Culture Documents
Ka disa mënyra se si mund të navigosh nga një faqe në një tjetër në ASP.NET. Disa nga metodat
për ta realizuar këtë janë:
● Client-side navigation Kodi në klient bën kërkesë për një faqe Web në përgjigje të një
eventi të tillë si klikimi i një linku ose ekzekutimi i Javascript si pjesë e një klikimi
butoni.
● Cross-page posting Një kontroll dhe një formë konfigurohen që të kryejnë PostBack në
një faqe tjetër nga ajo që bëri kërkesën origjinale.
● Client-side browser redirect Kodi server-side dërgon një mesazh në browser, duke
informuar browser që të kërkojë një tjetër faqe web nga serveri.
● Server-side transfer Kodi Server-side transferon kontrollin e kërkesës në një tjetër faqe
web.
Client-Side Navigation
Një prej mënyrave më të thjeshta për të naviguar në një tjetër faqe Web është që të vendosim një
kontroll të tipit HyperLink në formën tonë dhe gjithashtu të përcaktojmë karakteristikën
NavigateUrl sipas destinacionit të dëshiruar. Kontrolli HyperLink gjeneron një tag HTML <a>.
Atributi NavigateUrl do të përkonte me atributin href të një elementi <a>. Shembulli i
mëposhtëm tregon kodin e një kontrolli HyperLink dhe mënyrën se si renderohet në HTML:
Cross-Page Posting
Cross-page posting dëshirohet në një skenar ku të dhënat ruhen në një faqe web dhe procesohen
në një tjetër faqe web që shfaq rezultatet. Në një skenar të tillë, një kontroll Button e ka atributin
PostBackUrl të vendosur drejt faqes web ku duhet të postohen të dhënat. Faqja në të cilën do të
bëhet PostBack do të marrë dhe të dhënat e postuara, kjo quhet ndryshe dhe faqja procesuese.
Faqja procesuese shpesh ka nevojë që të aksesojë të dhënat që përmbaheshin brenda faqes
iniciuese. Të dhënat e faqes së mëparshme janë të disponueshme brenda atributit
Page.PreviousPage. Ky atribut caktohet vetëm nëse ndodh një postim cross-page. Ju mund të
aksesoni kontrollet që ndodhen në faqen e mëparshme duke përdorur metodën FindControl.
Shembulli i mëposhtëm bën të mundur navigimin nga faqja Navig1.aspx në faqen Navig2.aspx
në klikim të një butoni me id “button1” nëse përdoruesi ka vendosur të dhëna në TextBox e faqes
Navig1.aspx, ato do të afishohen në një kontroll Label në faqen Navig2.aspx.
Navig1.aspx
Navig2.aspx.cs
Shpesh herë ju duhet të ridrejtoni përdoruesit në një faqe tjetër bazuar mbi rezultatet e kërkesës
së tyre. Objekti Page.Response përmban metodën Redirect që bën të mundur realizimin e këtij
ridrejtimi.
Në shembullin e mëposhtëm jepet forma që përmban një TextBox dhe një button ( Navig1.aspx)
në klikim do të bëhet ridrejtimi nëpërmjet metodës Redirect gjithashtu si parametër në url kalojmë
vlerën e fushës së tekstit, e cila afishohet më pas në një label në faqen ( Navig2.aspx)
Kodi
Navig1.aspx
Navig1.aspx.cs
protected void ButtonSubmit_Click(object sender, EventArgs e)
{ var email = Email.Text;
Response.Redirect("Navig2.aspx?email="+ email ); }
Navig2.aspx
Navig2.aspx.cs
Shfaqja në browser
Deri tani pamë disa nga metodat për navigimin e përdoruesve nga një faqe në një tjetër duke
përdorur teknika si në anën e klientit dhe të serverit. ASP.NET siguron kontrolle që ju ndihmojnë
të menaxhoni dhe siguroni një strukturë naviguese dhe tja shfaqni atë përdoruesve.
1. Shtojmë një file sitemap në website duke klikuar me të djathtën mbi projekt dhe duke
selektuar Add→ Add New Item → Site Map , lëreni emërtimin siç është:
3. Për të krijuar një Master page, klikoni me të djathtën mbi projekt dhe duke selektuar Add→
Add New Item → Master Page
4. Brenda MasterPage.master vendosni kodin e mëposhtëm me të kuqe, ku është deklaruar një
kontroll Menu dhe gjithashtu një kontroll i tipit SiteMapDataSource i cili bën të mundur
tërheqjen e të dhënave nga sitemap dhe kalimin e tyre drejt kontrolleve që mund ti shfaqin si
Menu, TreeView, SiteMapPath.. Këtu kemi përcaktuar disa stile për arsye demostrative duke i
vendosur në tagun <style>, megjithatë praktikë e mirë do të ishte ndërtimi i një file të jashtëm
stile.css dhe thërritja brenda këtij file.
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title></title>
<asp:ContentPlaceHolder id="head" runat="server">
</asp:ContentPlaceHolder>
<style>
ul{
background-color:burlywood;
min-width: 160px;
}
a{
color:white;
}
</style>
</head>
<body>
<form id="form1" runat="server">
<div>
<asp:Menu ID="Menu1" runat="server" staticdisplaylevels="2"
orientation="Horizontal" DataSourceID="SiteMapDataSource1" ></asp:Menu>
<asp:SiteMapDataSource ID="SiteMapDataSource1" runat="server" />
<asp:ContentPlaceHolder id="ContentPlaceHolder1" runat="server">
</asp:ContentPlaceHolder>
</div>
</form>
</body>
</html>
5. Tashmë duhet të krijoni një faqe .aspx e cila do të lidhet me këtë master page, kujdes bëni
check Select master page.
6. Do tju shfaqet dritarja më poshtë, po të vini re me kujdes është master page që sapo krijuam
selektojeni dhe shtypni OK.
7. Në të njëjtën mënyrë krijoni edhe faqet e tjera të përcaktuara në sitemap si Home.aspx,
Kontakt.aspx, Kategori.aspx, VeshjeF.aspx, VeshjeM.aspx.
8. Bëni run projektit dhe do të vini re pamjen e mëposhtme të menusë për Home.aspx, menuja
do të shfaqej njësoj për secilën nga faqet e tjera që keni krijuar.
Kontrolli SiteMapPath