alphapicker.cs

来自「完全网站系统」· CS 代码 · 共 120 行

CS
120
字号
using System;
using System.Collections;
using System.Collections.Specialized;
using System.Web;
using System.Configuration;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.ComponentModel;
using System.IO;

namespace ASPNET.StarterKit.Communities 
{
    [
    ParseChildren(true)
    ]

    public class AlphaPicker : WebControl, INamingContainer {

        string currentLetter = "A";

        // *********************************************************************
        //  CreateChildControls
        //
        /// <summary>
        /// Renders the Alpha picker options
        /// </summary>
        /// 
        // ********************************************************************/ 
        protected override void CreateChildControls() {
            Label label;

            // Add the series of linkbuttons
            char chrStart = 'A';
            char chrStop = 'Z';

            // Loop through all the characters
            for (int iLoop = chrStart; iLoop <= chrStop; iLoop++) {
                Controls.Add(CreateLetteredLinkButton(((char) iLoop).ToString()));

                label = new Label();
                label.CssClass = "Content_Small";
                label.Text = " | ";
                Controls.Add(label);
            }

            Controls.Add(CreateLetteredLinkButton("All"));


        }

        // *********************************************************************
        //  CreateLetteredLinkButton
        //
        /// <summary>
        /// Creates link buttons
        /// </summary>
        /// 
        // ********************************************************************/ 
        private LinkButton CreateLetteredLinkButton(String buttonText) {

            // Add a new link button
            LinkButton btnTmp = new LinkButton();
            btnTmp.Text = buttonText;
            btnTmp.CssClass = "linkSmallBold";
            btnTmp.CommandArgument = buttonText;
            btnTmp.Click += new System.EventHandler(Letter_Clicked);

            return btnTmp;
        }

        // *********************************************************************
        //  Letter_Clicked
        //
        /// <summary>
        /// Event raised when a letter has been clicked by the end user
        /// </summary>
        /// 
        // ********************************************************************/
        public event System.EventHandler LetterChanged;

        // *********************************************************************
        //  Letter_Clicked
        //
        /// <summary>
        /// Event raised when a letter is clicked upon.
        /// </summary>
        /// 
        // ********************************************************************/
        private void Letter_Clicked(Object sender, EventArgs e) {

            SelectedLetter = ((LinkButton) sender).CommandArgument;

            if (null != LetterChanged)
                LetterChanged(sender, e);

        }

        // *********************************************************************
        //  SelectedLetter
        //
        /// <summary>
        /// Property that returns the currently selected Letter
        /// </summary>
        /// 
        // ********************************************************************/
        public string SelectedLetter {
            get {
                if (ViewState["SelectedLetter"] == null)
                    return currentLetter;

                return (string) ViewState["SelectedLetter"];
            }
            set {
                ViewState["SelectedLetter"] = value;
            }
        }

    }
}

⌨️ 快捷键说明

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