⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 managenamesadmin.cs

📁 本系统是在asp版《在线文件管理器》的基础上设计制作
💻 CS
字号:
//------------------------------------------------------------------------------
// <copyright company="Telligent Systems">
//     Copyright (c) Telligent Systems Corporation.  All rights reserved.
// </copyright> 
//------------------------------------------------------------------------------

using System;
using System.ComponentModel;
using System.Collections;
using System.Web;
using System.Web.UI;
using System.Web.UI.HtmlControls;
using System.Web.UI.WebControls;

using CommunityServer;
using CommunityServer.Components;


namespace CommunityServer.Controls {

	public class ManageNamesAdmin : TemplatedWebControl {

		#region Child Controls

		DataList ManageNames;

		#endregion

		#region Skin

		protected override void AttachChildControls() {

			ManageNames = (DataList)FindControl( "ManageNames" );

			InitializeChildControls();
		}

		private void InitializeChildControls() {
			ManageNames.ItemDataBound += new DataListItemEventHandler(ManageNames_ItemDataBound);

			ManageNames.EditCommand += new DataListCommandEventHandler( ManageNames_EditCommand);
			ManageNames.CancelCommand += new DataListCommandEventHandler( ManageNames_CancelCommand);
			ManageNames.DeleteCommand += new DataListCommandEventHandler( ManageNames_DeleteCommand);
			ManageNames.UpdateCommand += new DataListCommandEventHandler( ManageNames_UpdateCommand);
			ManageNames.ItemCommand += new DataListCommandEventHandler( ManageNames_ItemCommand);
		}


		#endregion

		#region Properties
		public string SelectedName {
			get {
				Object state = ViewState[ "SelectedName" ];
				if ( state != null ) {
					return (String)state;
				}
				return "";
			}
			set {
				ViewState[ "SelectedName" ] = value;
			}
		}
		#endregion

		#region Command Handlers

		private void ManageNames_ItemCommand(object source, DataListCommandEventArgs e) {
			if(e.CommandName == "Create") {
				CreateName( e );
			}
		}

		private void ManageNames_EditCommand(object source, DataListCommandEventArgs e) {
			EditName( e );
		}

		private void ManageNames_DeleteCommand(object source, DataListCommandEventArgs e) {
			this.DeleteName( e );
		}

		private void ManageNames_UpdateCommand(object source, DataListCommandEventArgs e) {
			UpdateName( e );
		}

		private void ManageNames_CancelCommand(object source, DataListCommandEventArgs e) {
			CancelEditName( e );
		}
    
		#endregion

		#region Command Implementations

		protected virtual void CreateName( DataListCommandEventArgs e ) {
			
			// Validate what it is needed
			this.DisableValidators();

			RequiredFieldValidator createrRequiredVal = (RequiredFieldValidator)e.Item.FindControl("addNameReqFVldt");
			RegularExpressionValidator createRegexVal = (RegularExpressionValidator)e.Item.FindControl("addNameRegExVldt");

			if ( createrRequiredVal == null || createRegexVal == null ) {
				return;
			}

			createrRequiredVal.Validate();
			createRegexVal.Validate();

			if ( !createrRequiredVal.IsValid || !createRegexVal.IsValid ) {
				return;
			}

			// Find input control
			TextBox nameEditor = (TextBox)e.Item.FindControl("BannedName");
			if ( nameEditor == null ) {
				return;
			}

			// Get input value
			string newName = nameEditor.Text.Trim();
			DisallowedNames.CreateName( newName );

			ManageNames.EditItemIndex = -1;
			UpdateList();
		}

		protected virtual void EditName( DataListCommandEventArgs e ) {
			// Get selected index
			ManageNames.EditItemIndex = e.Item.ItemIndex;

			// Set current name for selection. This will be changed on Update.
			this.SelectedName = ((ArrayList)ManageNames.DataSource)[e.Item.ItemIndex].ToString();

			ManageNames.DataBind();
		}

		protected virtual void DeleteName( DataListCommandEventArgs e ) {
			// Get name from datasource
			string name = ((ArrayList)ManageNames.DataSource)[e.Item.ItemIndex].ToString();

			// Delete it from datastore
			DisallowedNames.DeleteName( name );

			// Reset datalist
			ManageNames.EditItemIndex = -1;
			UpdateList();
		}
		protected virtual void UpdateName( DataListCommandEventArgs e ) {
			
			// Validate what it is needed
			this.DisableValidators();

			RequiredFieldValidator updaterRequiredVal = (RequiredFieldValidator)e.Item.FindControl("editNameReqFVldt");
			RegularExpressionValidator updaterRegexVal = (RegularExpressionValidator)e.Item.FindControl("editNameRegExVldt");

			if ( updaterRequiredVal == null || updaterRegexVal == null ) {
				return;
			}

			updaterRequiredVal.Validate();
			updaterRegexVal.Validate();

			if ( !updaterRequiredVal.IsValid || !updaterRegexVal.IsValid ) {
				return;
			}


			// Find input control
			TextBox nameEditor = (TextBox)e.Item.FindControl("Name");
			if ( nameEditor == null ) {
				return;
			}

			// Get input value
			string newName = nameEditor.Text.Trim();
			// Exit if no real changes
			if ( newName == this.SelectedName ) {
				// Reset datalist
				ManageNames.EditItemIndex = -1;
				ManageNames.DataBind();
				return;
			}

			// Update it in datastore
			DisallowedNames.UpdateName( newName, this.SelectedName );

			// Reset datalist
			this.SelectedName = "";
			ManageNames.EditItemIndex = -1;
			this.UpdateList();

		}

		protected virtual void CancelEditName( DataListCommandEventArgs e ) {
			this.SelectedName = "";
			ManageNames.EditItemIndex = -1;
			ManageNames.DataBind();
		}

		#endregion

		private void DisableValidators() {
			IEnumerator tmpEnum = this.Page.Validators.GetEnumerator();
			while(tmpEnum.MoveNext()) {
				((IValidator) tmpEnum.Current).IsValid = true;
			}
		}


		protected override void OnLoad(EventArgs e) {
			this.EnsureChildControls();
			ManageNames.DataSource = DisallowedNames.GetNames();
			if ( !Page.IsPostBack ) {
				this.DataBind();
			}
			base.OnLoad( e );
		}

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

			ManageNames.DataBind();
		}

		private void UpdateList() {
			ManageNames.DataSource = DisallowedNames.GetNames();
			ManageNames.DataBind();      
		}


		private void ManageNames_ItemDataBound(object sender, DataListItemEventArgs e) {

			switch ( e.Item.ItemType ) {
				case ListItemType.Item:
				case ListItemType.AlternatingItem:
					Label NameLabel = (Label)e.Item.FindControl( "NameLabel" );
					NameLabel.Text = Convert.ToString( e.Item.DataItem );

					Button Edit = (Button)e.Item.FindControl( "Edit" );
					Edit.Text = ResourceManager.GetString("Edit");

					Button Delete = (Button)e.Item.FindControl( "Delete" );
					Delete.Text = ResourceManager.GetString("Delete");
					break;
				case ListItemType.EditItem:
					TextBox Name = (TextBox)e.Item.FindControl( "Name" );
					Name.Text = Convert.ToString( e.Item.DataItem );

					RequiredFieldValidator editNameReqFVldt = (RequiredFieldValidator)e.Item.FindControl( "editNameReqFVldt" );
					editNameReqFVldt.ErrorMessage = ResourceManager.GetString("ManageNames_ReqFieldValidator");

					RegularExpressionValidator editNameRegExVldt = (RegularExpressionValidator)e.Item.FindControl( "editNameRegExVldt" );
					editNameRegExVldt.ErrorMessage = ResourceManager.GetString("ManageNames_RegExValidator");

					Button Update = (Button)e.Item.FindControl( "Update" );
					Update.Text = ResourceManager.GetString("Update");

					Button Cancel = (Button)e.Item.FindControl( "Cancel" );
					Cancel.Text = ResourceManager.GetString("Cancel");
					break;
				case ListItemType.Footer:
					RequiredFieldValidator addNameReqFVldt = (RequiredFieldValidator)e.Item.FindControl( "addNameReqFVldt" );
					addNameReqFVldt.ErrorMessage = ResourceManager.GetString("ManageNames_ReqFieldValidator");

					RegularExpressionValidator addNameRegExVldt = (RegularExpressionValidator)e.Item.FindControl( "addNameRegExVldt" );
					addNameRegExVldt.ErrorMessage = ResourceManager.GetString("ManageNames_RegExValidator");

					Button Create = (Button)e.Item.FindControl( "Create" );
					Create.Text = ResourceManager.GetString("Create");
					break;
			}

		}
	}
}

⌨️ 快捷键说明

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