topicpicker.cs

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

CS
63
字号
namespace ASPNET.StarterKit.Communities {
    using System;
    using System.Web;
    using System.Web.UI;
    using System.Web.UI.WebControls;
	using System.ComponentModel;

	[Designer(typeof(ASPNET.StarterKit.Communities.CommunityDesigner))]
    public class TopicPicker : DropDownList {

        string _defaultTopicText = "Select a Topic";
        int _selectedTopicID = -1;

        public string DefaultTopicText {
            get {return _defaultTopicText;}
            set {_defaultTopicText = value;}
        }

        
        public int SelectedTopicID {
            get {
                EnsureChildControls(); 
                return Int32.Parse(SelectedItem.Value); 
            }
            set { _selectedTopicID = value; }
        }


        override protected void OnLoad(EventArgs e) {
            base.OnLoad(e);
            
            if (!Page.IsPostBack && Visible) {
                EnsureChildControls();           
                DataSource = TopicUtility.GetAllTopics();
                DataTextField = "Name";
                DataValueField = "ID";
                DataBind();

                // Add first item
                Items.Insert(0, new ListItem(_defaultTopicText,"-1"));

                // Selecte default
                    ListItem item = Items.FindByValue(_selectedTopicID.ToString());
                    if (item != null)
                        item.Selected = true;
            }
        }



        public TopicPicker() : base() {
            CssClass = "topicPicker";
            
			if (Context != null) {
				SectionInfo _sectionInfo = (SectionInfo)Context.Items["SectionInfo"];
				if (! _sectionInfo.EnableTopics)
					Visible = false;  
			}    
        }

    }
}

⌨️ 快捷键说明

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