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

📄 folderadmin.aspx.cs

📁 这是一学习的好东西
💻 CS
字号:
using System;
using System.Collections;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Web;
using System.Web.SessionState;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.HtmlControls;
using DocAdmin.BLL ;
using DocAdmin.COMMON ;

namespace DocAdmin.USL
{
	/// <summary>
	/// NewFolder 的摘要说明。
	/// </summary>
	public class FolderAd : System.Web.UI.Page
	{
		protected System.Web.UI.WebControls.Label Label3;
		protected System.Web.UI.WebControls.Label Label8;
		protected System.Web.UI.WebControls.TextBox tb_Note;
		protected System.Web.UI.WebControls.TextBox tb_CRDT;
		protected System.Web.UI.WebControls.Button b_AddCtrl;
		protected System.Web.UI.WebControls.DataGrid dgCtrl;
		protected System.Web.UI.WebControls.Button b_Save;
		protected System.Web.UI.HtmlControls.HtmlInputHidden h_FolderID;
		protected System.Web.UI.WebControls.CheckBox chkSubFoldFileRight;
		protected System.Web.UI.WebControls.TextBox tb_FolderName;
		private DataTable dtFolderCtrl = null ;
		protected System.Web.UI.HtmlControls.HtmlInputHidden h_ParentID;
		protected System.Web.UI.WebControls.Panel p_Admin;
		protected System.Web.UI.WebControls.TextBox tb_USERName;
		protected System.Web.UI.WebControls.RequiredFieldValidator R1;
		private Usr usr = null ;
	
		#region Page_Load
		private void Page_Load(object sender, System.EventArgs e)
		{
			//取登录用户信息
			usr = DocAdminGlobals.LoginUsr ;
			if(usr==null)
			{
				//页面重定向到登录页面
				string url="Login.aspx" ;
				Page.Response.Redirect(url) ;
				return ;
			}

			//取目录权限表
			dtFolderCtrl = DocAdminGlobals.dtCtrl ;

			if(!IsPostBack)
			{
				
				//从页面请求URL中获得目录和文件编号
				h_FolderID.Value = CommHandler.GetRequest(Page,"FOLDERID") ;
				h_ParentID.Value = CommHandler.GetRequest(Page,"PARENTID") ;
				string type = CommHandler.GetRequest(Page,"TYPE") ;
				string ctrl = CommHandler.GetRequest(Page,"CTRL") ;
				int folderID = CommHandler.StringToInt(h_FolderID.Value) ;
				
				if(folderID != 0)
				{
					//页面为修改目录,显示目录信息
					ShowFolderInfo(folderID,ctrl) ;

					if(type == "VIEW")
					{
						//查看时,不显示保存按钮
						this.b_Save.Visible = false ;
						this.b_AddCtrl.Visible = false ;
					}
					else
					{
						//编辑时,根据权限显示画面
						if(FolderCtrl.HasAdminCtrl(usr.UserID,usr.GroupID,folderID))
						{
							//管理权限
							this.p_Admin.Visible = true ;							
						}
						else if(FolderCtrl.HasWriteCtrl(usr.UserID,usr.GroupID,folderID))
						{
							//改写权限
							this.p_Admin.Visible = false ;							
						}						
					}
					
				}
				else
				{
					//页面为新建文件,显示初始化信息
					this.tb_USERName.Text = usr.UserName ;
					this.tb_CRDT.Text = CommHandler.Today() ;					
				}
				CommHandler.BindGrid(this.dgCtrl,dtFolderCtrl);					
			}			
		}

		private void ShowFolderInfo(int folderID,string ctrl)
		{
			//实例一个文件信息对象
			FolderInfo fi = new FolderInfo() ;
			//调用文件信息对象的查询方法
			fi.GetFolder(folderID) ;

			//将文件信息显示在界面上
			this.tb_CRDT.Text = CommHandler.DateTimeToString(fi.CRDT) ;
			this.tb_FolderName.Text = fi.FolderName ;			
			this.tb_Note.Text = fi.Note ;
			this.tb_USERName.Text = fi.UsrName ;
//			this.h_UserID.Value = fi.CrUsr ;
			
			//文件权限信息
			if(ctrl!="ADD")
			{
				dtFolderCtrl = FolderCtrl.GetFolderCtrlFromFolderID(folderID) ;
				DocAdminGlobals.dtCtrl = dtFolderCtrl ;
			}			
		}		
		#endregion

		#region Web 窗体设计器生成的代码
		override protected void OnInit(EventArgs e)
		{
			//
			// CODEGEN: 该调用是 ASP.NET Web 窗体设计器所必需的。
			//
			InitializeComponent();
			base.OnInit(e);
		}
		
		/// <summary>
		/// 设计器支持所需的方法 - 不要使用代码编辑器修改
		/// 此方法的内容。
		/// </summary>
		private void InitializeComponent()
		{    
			this.b_AddCtrl.Click += new System.EventHandler(this.b_AddCtrl_Click);
			this.dgCtrl.DeleteCommand += new System.Web.UI.WebControls.DataGridCommandEventHandler(this.dgCtrl_DeleteCommand);
			this.b_Save.Click += new System.EventHandler(this.b_Save_Click);
			this.Load += new System.EventHandler(this.Page_Load);

		}
		#endregion

		#region 保存
		private void b_Save_Click(object sender, System.EventArgs e)
		{
			int folderID = CommHandler.StringToInt(this.h_FolderID.Value.Trim()) ;

			FolderInfo fi = new FolderInfo() ;
			BindFolderInfo(fi) ;
			if(folderID==0)
			{
				//新建目录信息				
				folderID = fi.AddFolderInfo() ;

				if(folderID>0)
				{
					h_FolderID.Value = folderID.ToString() ;
					//文件信息添加成功,新建文件权限信息
					SaveFolderCtrl() ;	
			
					CommHandler.Alert(Page,"目录信息添加成功!") ;
				}				
			}			
			else
			{
				//修改目录信息
				fi.FolderID = folderID ;
				int ret = fi.ModifyFolderInfo() ;

				if(ret>0)
				{
					//修改目录权限信息
					SaveFolderCtrl() ;
					CommHandler.Alert(Page,"目录信息修改成功!") ;
				}
			}
			
			DocAdminGlobals.dtCtrl = dtFolderCtrl ;
			CommHandler.BindGrid(this.dgCtrl,dtFolderCtrl);
		}

		private void BindFolderInfo(FolderInfo fi)
		{
			fi.FolderName = this.tb_FolderName.Text.Trim() ;
			fi.Note = this.tb_Note.Text.Trim() ;
			fi.CrUsr = usr.UserID ;
			fi.ParentID = CommHandler.StringToInt(this.h_ParentID.Value) ;
			fi.MdUsr = this.usr.UserID ;
		}

		/// <summary>
		/// 从表格中获取权限信息存入DataRow中
		/// </summary>
		private void GetCtrlData(DataRow dr,int index)
		{			
			//管理权限		
			dr["AdminCtrl"] = ((RadioButton)dgCtrl.Items[index].FindControl("r_Admin")).Checked  ;
			//改写权限
			dr["WriteCtrl"] = ((RadioButton)dgCtrl.Items[index].FindControl("r_Write")).Checked ;
			//读取权限
			dr["ReadCtrl"] = ((RadioButton)dgCtrl.Items[index].FindControl("r_Read")).Checked  ;
			
		}

		private void SaveFolderCtrl()
		{
			for(int i=0;i<dtFolderCtrl.Rows.Count;i++)			
			{				
				DataRow dr = dtFolderCtrl.Rows[i] ;
				FolderCtrl fc = new FolderCtrl() ;

				//从表格中获取权限信息
				GetCtrlData(dr,i) ;

				//绑定目录权限信息
				fc.FolderID = CommHandler.StringToInt(h_FolderID.Value) ;
				fc.GroupID = CommHandler.StringToInt(dr["GroupID"].ToString()) ;
				fc.UserID = CommHandler.StringToInt(dr["UserID"].ToString()) ;
				fc.AdminCtrl = CommHandler.StringToByte(dr["AdminCtrl"].ToString()) ;
				fc.WriteCtrl = CommHandler.StringToByte(dr["WriteCtrl"].ToString()) ;
				fc.ReadCtrl = CommHandler.StringToByte(dr["ReadCtrl"].ToString()) ;

				if(dr["CtrlID"].ToString() != "")
				{
					//修改							
					fc.CtrlID = CommHandler.StringToInt(dr["CtrlID"].ToString()) ;
					fc.ModifyFolderCtrl() ;					

				}
				else
				{
					//新建
					//目录ID
					fc.FolderID = CommHandler.StringToInt(this.h_FolderID.Value) ;
					//调用添加目录控制权限方法
					int ctrlid = fc.AddFolderCtrl() ;
					//将新产生的ID写回DataTable
					dr["FolderID"] = h_FolderID.Value ;
					dr["CtrlID"] = ctrlid.ToString() ;
				}
			}
		}
		#endregion

		#region 添加权限
		private void b_AddCtrl_Click(object sender, System.EventArgs e)
		{
			//弹出模态对话框以添加权限
			string url = "AddCtrl.aspx" ;
			CommHandler.IFrame_PopUp(Page,url,"600","450") ;		
		}
		#endregion

		#region 删除权限
		private void dgCtrl_DeleteCommand(object source, System.Web.UI.WebControls.DataGridCommandEventArgs e)
		{
			//表格选中的行
			int index = e.Item.ItemIndex ;
			DataRow dr = dtFolderCtrl.Rows[index] ;

			//文件ID或目录ID
			int id = CommHandler.StringToInt(dr["CtrlID"].ToString()) ;			

			//删除
			if(FolderCtrl.DeleteFolderCtrl(id) > 0)
			{
				//删除成功后从DataTable中移除行
				dtFolderCtrl.Rows.Remove(dr) ;
			}

			DocAdminGlobals.dtCtrl = dtFolderCtrl ;
			CommHandler.BindGrid(this.dgCtrl,dtFolderCtrl);		
		}
		#endregion
	}
}

⌨️ 快捷键说明

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