annotate Demo/Asp.Net/Web/Controls/BreadCrumbControl.ascx.cs @ 9:1e85f66cf767 default tip

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