Mercurial > pub > bltoolkit
comparison Demo/Asp.Net/Web/Controls/BreadCrumbControl.ascx.cs @ 0:f990fcb411a9
Копия текущей версии из github
author | cin |
---|---|
date | Thu, 27 Mar 2014 21:46:09 +0400 |
parents | |
children |
comparison
equal
deleted
inserted
replaced
-1:000000000000 | 0:f990fcb411a9 |
---|---|
1 using System; | |
2 using System.Web.UI.WebControls; | |
3 using System.Web.UI.HtmlControls; | |
4 | |
5 using PetShop.BusinessLogic; | |
6 | |
7 namespace PetShop.Web | |
8 { | |
9 public partial class BreadCrumbControl : System.Web.UI.UserControl | |
10 { | |
11 protected void Page_Load(object sender, EventArgs e) | |
12 { | |
13 string categoryId = Request.QueryString["categoryId"]; | |
14 | |
15 if (!string.IsNullOrEmpty(categoryId)) | |
16 { | |
17 ProcessHomePageLink(); | |
18 | |
19 // Process Product page link | |
20 // | |
21 HtmlAnchor lnkProducts = new HtmlAnchor(); | |
22 | |
23 lnkProducts.InnerText = new ProductManager().GetCategory(categoryId).Name; | |
24 lnkProducts.HRef = string.Format("~/Products.aspx?page=0&categoryId={0}", categoryId); | |
25 | |
26 plhControl.Controls.Add(lnkProducts); | |
27 | |
28 string productId = Request.QueryString["productId"]; | |
29 | |
30 if (!string.IsNullOrEmpty(productId)) | |
31 { | |
32 // Process Item page link | |
33 // | |
34 plhControl.Controls.Add(GetDivider()); | |
35 | |
36 HtmlAnchor lnkItemDetails = new HtmlAnchor(); | |
37 | |
38 lnkItemDetails.InnerText = new ProductManager().GetProduct(productId).Name; | |
39 lnkItemDetails.HRef = string.Format("~/Items.aspx?categoryId={0}&productId={1}", categoryId, productId); | |
40 | |
41 plhControl.Controls.Add(lnkItemDetails); | |
42 } | |
43 } | |
44 else | |
45 { | |
46 int len = Request.Url.Segments.Length; | |
47 | |
48 if (len >= 2 && Request.Url.Segments[len-2].TrimEnd('/', '\\').ToLower() == "admin") | |
49 { | |
50 ProcessHomePageLink(); | |
51 | |
52 HtmlAnchor a = new HtmlAnchor(); | |
53 | |
54 a.InnerText = Request.Url.Segments[len - 1].Split('.')[0]; | |
55 a.HRef = Request.Url.PathAndQuery; | |
56 | |
57 plhControl.Controls.Add(a); | |
58 } | |
59 } | |
60 } | |
61 | |
62 private void ProcessHomePageLink() | |
63 { | |
64 HtmlAnchor lnkHome = new HtmlAnchor(); | |
65 | |
66 lnkHome.InnerText = "Home"; | |
67 lnkHome.HRef = "~/Default.aspx"; | |
68 | |
69 plhControl.Controls.Add(lnkHome); | |
70 plhControl.Controls.Add(GetDivider()); | |
71 } | |
72 | |
73 /// <summary> | |
74 /// Create a breadcrumb nodes divider | |
75 /// </summary> | |
76 /// <returns>Literal control containing formatted divider</returns> | |
77 private Literal GetDivider() | |
78 { | |
79 Literal ltlDivider = new Literal(); | |
80 | |
81 ltlDivider.Text = " > "; | |
82 | |
83 return ltlDivider; | |
84 } | |
85 } | |
86 } |