linkcategorylist.cs

来自「本系统是在asp版《在线文件管理器》的基础上设计制作」· CS 代码 · 共 89 行

CS
89
字号
//------------------------------------------------------------------------------
// <copyright company="Telligent Systems">
//     Copyright (c) Telligent Systems Corporation.  All rights reserved.
// </copyright> 
//------------------------------------------------------------------------------

using System.Collections;
using System.Web.UI.WebControls;
using CommunityServer.Components;

namespace CommunityServer.Blogs.Controls
{
	/// <summary>
	/// Displays a list of links for the curent blog
	/// </summary>
	public class LinkCategoryList : WeblogThemedControl
	{
		public LinkCategoryList()
		{
			//
			// TODO: Add constructor logic here
			//
		}

	    Repeater categories = null;

        public override void DataBind()
        {
            base.DataBind();

            categories.DataSource = LinkCategories.GetCategories( CurrentWeblog.SectionID,false,true);
            categories.DataBind();
        }

        /// <summary>
        /// Attach Repeater
        /// </summary>
        protected override void AttachChildControls()
        {
            categories = FindControl("Categories") as Repeater;
            categories.ItemCreated +=new RepeaterItemEventHandler(categories_ItemCreated);

            DataBind();
        }


        private void categories_ItemCreated(object sender, RepeaterItemEventArgs e)
        {
            switch ( e.Item.ItemType ) 
            {
                case ListItemType.Item:
                case ListItemType.AlternatingItem:
                case ListItemType.SelectedItem:

                    LinkCategory lc = e.Item.DataItem as LinkCategory;

                    Literal catTitle = e.Item.FindControl("CategoryTitle") as Literal;
                    catTitle.Text = lc.Name;

                    ArrayList catLinks = Links.GetLinks(lc.LinkCategoryID,false,true);
                    Repeater links = e.Item.FindControl("Links") as Repeater;
                    links.ItemCreated +=new RepeaterItemEventHandler(links_ItemCreated);
                    links.DataSource = catLinks;
                    links.DataBind();

                    break;
            }
        }

        private void links_ItemCreated(object sender, RepeaterItemEventArgs e)
        {
            switch ( e.Item.ItemType ) 
            {
                case ListItemType.Item:
                case ListItemType.AlternatingItem:
                case ListItemType.SelectedItem:

                    Link link = e.Item.DataItem as Link;

                    HyperLink hl = e.Item.FindControl("Link") as HyperLink;
                    hl.Text = link.Title;
                    hl.NavigateUrl = link.Url;

                    break;
            }
        }
    }
}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?