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

📄 loginbar.cs

📁 《Visual Basic案例开发》一书的源代码
💻 CS
📖 第 1 页 / 共 3 页
字号:
using System;
using System.Web.UI;
using System.Web.UI.HtmlControls;
using System.Web.UI.WebControls;
using System.ComponentModel;

namespace _36Hang.Web.UI.WebControls
{
	[DefaultProperty("Title"), ToolboxData("<{0}:LoginBar runat=server></{0}:LoginBar>")]
	public class LoginBar : WebControl, INamingContainer
	{
		private HtmlTableCell _HtmlTableCell;
		private LoginBarItems _Items;
		private LoginBarCommands _Commands;
		private ImageClickEventHandler _ImageClickEventHandler;
		public LoginBarModeFilename ModeFilename;

		public event EventHandler Click;

		public LoginBar() : base()
		{
			_HtmlTableCell = new HtmlTableCell();
			_Items = new LoginBarItems();
			_Commands = new LoginBarCommands();
			_ImageClickEventHandler = new ImageClickEventHandler(this.ServerClicked);
			ModeFilename = new LoginBarModeFilename();

			LoginBarItem objLoginBarItem;

			objLoginBarItem = new LoginBarItem();
			objLoginBarItem.ID = "Username";
			objLoginBarItem.Label = "用户名:";
			objLoginBarItem.Field = "Username";
			_Items.Add(objLoginBarItem);

			objLoginBarItem = new LoginBarItem();
			objLoginBarItem.ID = "Password";
			objLoginBarItem.Label = "密码:";
			objLoginBarItem.Type = "Password";
			objLoginBarItem.Field = "Password";
			_Items.Add(objLoginBarItem);

			LoginBarCommand objLoginBarCommand;

			objLoginBarCommand = new LoginBarCommand();
			objLoginBarCommand.ID = "OK";
			objLoginBarCommand.Filename = "Images/LoginBar/OK.gif";
			_Commands.Add(objLoginBarCommand);

			objLoginBarCommand = new LoginBarCommand(); 
			objLoginBarCommand.ID = "Cancel";
			objLoginBarCommand.Filename = "Images/LoginBar/Cancel.gif";
			_Commands.Add(objLoginBarCommand);
		}

		public string Pathname
		{
			get { if(ViewState["Pathname"] == null) return ""; else return (string)ViewState["Pathname"]; }
			set { ViewState["Pathname"] = value; }
		}

		public int Velocity
		{
			get { if(ViewState["Velocity"] == null) return 2; else return (int)ViewState["Velocity"]; }
			set { ViewState["Velocity"] = value; }
		}

		public string Expanded
		{
			get { if(ViewState["Expanded"] == null) return this.Pathname + "Images/LoginBar/Expanded.gif"; else return (string)ViewState["Expanded"]; }
			set { ViewState["Expanded"] = value; }
		}

		public string Closed
		{
			get { if(ViewState["Closed"] == null) return this.Pathname + "Images/LoginBar/Closed.gif"; else return (string)ViewState["Closed"]; }
			set { ViewState["Closed"] = value; }
		}

		public string Title
		{
			get { if(ViewState["Title"] == null) return "登录框"; else return (string)ViewState["Title"]; }
			set { ViewState["Title"] = value; }
		}

		public int Version
		{
			get { if(ViewState["Version"] == null) return 6; else return (int)ViewState["Version"]; }
			set { ViewState["Version"] = value; }
		}

		public int Times
		{
			get { if(ViewState["Times"] == null) return 0; else return (int)ViewState["Times"]; }
			set { ViewState["Times"] = value; }
		}

		public void Refresh()
		{
			this.EnsureChildControls();

			_HtmlTableCell.InnerHtml = "";
			SetStruct();
			SetControl();
		}

		public LoginBarMode Mode
		{
			get { if(ViewState["Mode"] == null) return LoginBarMode.Default; else return (LoginBarMode)ViewState["Mode"]; }
			set { ViewState["Mode"] = value; }
		}

		public LoginBarItems Items
		{
			get { return this._Items; }
			set { this._Items = value; }
		}

		public void Expand()
		{
			base.Page.RegisterStartupScript("_" + this.ID + "_Expand","<script language = \"javascript\"> _" + this.ID + "_Initialize(); _" + this.ID + "_Div.style.setAttribute(\"display\",\"none\"); _" + this.ID + "_Click(); </script>");
		}

		public void Exit(string Object)
		{
			base.Page.RegisterStartupScript("_" + this.ID + "_Exit","<script language = \"javascript\"> if(confirm(\"您确实要退出该系统吗?\") == true) { " + Object + ".opener = null; " + Object + ".close(); } </script>");
		}

		public void Error(string Object)
		{
			base.Page.RegisterStartupScript("_" + this.ID + "_Error","<script language = \"javascript\"> alert(\"您输入的用户名/密码错误,请重新输入。\"); </script>");
		}

		public void Failed(string Object)
		{
			base.Page.RegisterStartupScript("_" + this.ID + "_Failed","<script language = \"javascript\"> alert(\"对不起,您没有权限使用该系统。请与系统管理员联系。\"); " + Object + ".opener = null; " + Object + ".close(); </script>");
		}

		protected virtual void OnClick(EventArgs e,string eventArgument)
		{
			if (Click != null)
			{
				for(int i=0; i<_Commands.Count; i++)
				{
					if(_Commands[i].ID == eventArgument)
					{
						Click(_Commands[i],e);
					}
				}
			}
		}

		private void ServerClicked(object sender, ImageClickEventArgs e)
		{
			for(int i=0; i<_Items.Count; i++)
			{
				_Items[i].Text = GetValue(_Items[i].ID);
			}

			HtmlInputImage objHtmlInputImage = (HtmlInputImage)sender;
			if(objHtmlInputImage.ID == "OK") this.Times = this.Times + 1;

			OnClick(e,objHtmlInputImage.ID);
		
			this.EnsureChildControls();

			_HtmlTableCell.InnerHtml = "";
			SetStruct();
			SetControl();
		}

		private string GetValue(string ID)
		{
			Control objControl;
			for(int i=0; i<base.Page.Controls.Count; i++)
			{
				objControl = (Control)base.Page.Controls[i];

⌨️ 快捷键说明

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