Imports BVSoftware.BVC.Core Public Class CategoryBreadCrumbs Inherits System.Web.UI.UserControl #Region " Web Form Designer Generated Code " 'This call is required by the Web Form Designer. Private Sub InitializeComponent() End Sub Protected WithEvents CategoryTrail As System.Web.UI.WebControls.PlaceHolder 'NOTE: The following placeholder declaration is required by the Web Form Designer. 'Do not delete or move it. Private designerPlaceholderDeclaration As System.Object Private Sub Page_Init(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Init 'CODEGEN: This method call is required by the Web Form Designer 'Do not modify it using the code editor. InitializeComponent() End Sub #End Region Private _categoryID As Integer Private _PageLink As String = "~/category.aspx?categoryID=" Private _HomeLink As String = "" Private _CurrentCategoryLinked As Boolean = False Private _ShowHome As Boolean = False Public Property CategoryID() As Integer Get Return _categoryID End Get Set(ByVal Value As Integer) _categoryID = Value End Set End Property Public Property PageLink() As String Get Return _PageLink End Get Set(ByVal Value As String) _PageLink = Value End Set End Property Public Property HomeLink() As String Get Return _HomeLink End Get Set(ByVal Value As String) _HomeLink = Value End Set End Property Public Property ShowHome() As Boolean Get Return _ShowHome End Get Set(ByVal Value As Boolean) _ShowHome = Value End Set End Property Public Property CurrentCategoryLinked() As Boolean Get Return _CurrentCategoryLinked End Get Set(ByVal Value As Boolean) _CurrentCategoryLinked = Value End Set End Property Private Sub Page_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load If Not Request.Params("CategoryID") Is Nothing Then Dim categoryID As Integer = Request.Params("CategoryID") Me.CategoryTrail.EnableViewState = False Me.CategoryTrail.Controls.Clear() LoadTrail(categoryID, 0) Else If Not Session("LastCategoryID") Is Nothing Then Dim categoryID As Integer = Session("LastCategoryID") Me.CategoryTrail.EnableViewState = False Me.CategoryTrail.Controls.Clear() LoadTrail(categoryID, 0) Else If Not Session("LastBrowseCategoryID") Is Nothing Then Dim categoryID As Integer = Session("LastBrowseCategoryID") Me.CategoryTrail.EnableViewState = False Me.CategoryTrail.Controls.Clear() LoadTrail(categoryID, 0) End If End If End If If _ShowHome = True Then addHomeLink() End If End Sub Private Sub LoadTrail(ByVal idNumber As Integer, ByVal depth As Integer) Dim c As Catalog.Category c = CatalogServices.Categories.GetCategory(idNumber) If Not c Is Nothing Then If 0 = depth Then 'Me.AddLink(category.ID, category.Name, False) If _CurrentCategoryLinked = True Then Me.AddLink(c.ID, c.Name, False) Else Me.AddNonLink(c.Name, False) End If Else Me.AddLink(c.ID, c.Name, True) End If If c.ParentID > 0 Then LoadTrail(c.ParentID, depth + 1) End If End If c = Nothing End Sub Private Sub AddLink(ByVal linkID As Integer, ByVal linkName As String, ByVal addSpacer As Boolean) If addSpacer = True Then 'Dim spa As New Web.UI.WebControls.Image 'spa.ImageUrl = ImageHelper.GetThemedButton("TrailSpacer.gif") 'spa.BorderStyle = BorderStyle.None 'Me.CategoryTrail.Controls.AddAt(0, spa) Dim lit As New Literal lit.EnableViewState = False lit.Text += " > " Me.CategoryTrail.Controls.AddAt(0, lit) lit = Nothing End If Dim lnk As New HyperLink lnk.EnableViewState = False lnk.Text = linkName lnk.NavigateUrl = _PageLink & linkID Me.CategoryTrail.Controls.AddAt(0, lnk) lnk = Nothing End Sub Private Sub AddNonLink(ByVal displayName As String, ByVal addSpacer As Boolean) If addSpacer = True Then 'Dim spa As New Web.UI.WebControls.Image 'spa.ImageUrl = ImageHelper.GetThemedButton("TrailSpacer.gif") 'spa.BorderStyle = BorderStyle.None 'Me.CategoryTrail.Controls.AddAt(0, spa) Dim lit As New Literal lit.EnableViewState = False lit.Text += " > " Me.CategoryTrail.Controls.AddAt(0, lit) lit = Nothing End If Dim lit2 As New Literal lit2.EnableViewState = False lit2.Text += "" lit2.Text += displayName lit2.Text += "" Me.CategoryTrail.Controls.AddAt(0, lit2) lit2 = Nothing End Sub Private Sub addHomeLink() 'Dim spa As New Web.UI.WebControls.Image 'spa.ImageUrl = ImageHelper.GetThemedButton("TrailSpacer.gif") 'spa.BorderStyle = BorderStyle.None 'Me.CategoryTrail.Controls.AddAt(0, spa) Dim lit As New Literal lit.EnableViewState = False lit.Text += " > " Me.CategoryTrail.Controls.AddAt(0, lit) lit = Nothing Dim lnk As New HyperLink lnk.EnableViewState = False lnk.Text = Content.SiteTerms.GetTerm("Home") If _HomeLink.Trim.Length > 0 Then lnk.NavigateUrl = _HomeLink Else lnk.NavigateUrl = WebAppSettings.SiteStandardRoot End If Me.CategoryTrail.Controls.AddAt(0, lnk) lnk = Nothing End Sub End Class