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

📄 fileview.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>
	/// FileView 的摘要说明。
	/// </summary>
	public class FileView : System.Web.UI.Page
	{
		protected System.Web.UI.WebControls.ImageButton ib_Back;
		protected System.Web.UI.WebControls.ImageButton ib_Up;
		protected System.Web.UI.WebControls.ImageButton ib_Search;
		protected System.Web.UI.WebControls.ImageButton ib_NewFolder;
		protected System.Web.UI.WebControls.TextBox tb_Path;
		protected System.Web.UI.WebControls.ImageButton ib_NewFile;
		protected System.Web.UI.WebControls.ImageButton ib_Forward;
		protected System.Web.UI.WebControls.DataGrid dg;
		protected System.Web.UI.HtmlControls.HtmlInputHidden FolderID;
		private Usr usr = null ;
		protected System.Web.UI.WebControls.Label Label1;
		protected System.Web.UI.WebControls.Label Label2;
		private DataTable dtFile = 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 ;
			}

			//获取文件列表
			dtFile = (DataTable)Session["dtFile"] ;
			if(dtFile == null)
			{
				dtFile = new DataTable() ;
			}

			if(!IsPostBack)
			{
				//获取目录ID,若获取不成功,转换为0,表示根目录
				int folderID = CommHandler.StringToInt(Page.Request["FOLDERID"]) ;	
				this.FolderID.Value = folderID.ToString() ;
				//显示目录的文件列表
				ShowFilesFromFolderID(folderID) ;	
				//显示目录的地址
				this.tb_Path.Text = FolderInfo.GetPath(folderID) ;
					
			}

			CommHandler.BindGrid(dg,dtFile) ;
		}

		private void ShowFilesFromFolderID(int folderID)
		{
			//先检查用户是否具有权限,没有权限则返回
			if(!FolderCtrl.HasReadCtrl(usr.UserID,usr.GroupID,folderID))
			{
				CommHandler.Alert(Page,"对不起,你没有权限打开此目录!") ;
				return ;
			}

			//根据目录ID获取文件信息
			dtFile = DocFileInfo.GetFileFromFolder(folderID) ;
			//在隐藏控件中记录目录ID
			FolderID.Value = folderID.ToString() ;	
			//如果是根目录,则向上按钮不可用
			if(folderID == 0)
			{
				this.ib_Up.Attributes.Add("Enabled","False") ;
			}
			else
			{}
	
			CommHandler.BindGrid(dg,dtFile) ;
			Session["dtFile"] = dtFile ;

			CommHandler.BindGrid(dg,dtFile) ;
		}
		#endregion
				

		#region Web 窗体设计器生成的代码
		override protected void OnInit(EventArgs e)
		{
			//
			// CODEGEN: 该调用是 ASP.NET Web 窗体设计器所必需的。
			//
			InitializeComponent();
			base.OnInit(e);
		}
		
		/// <summary>
		/// 设计器支持所需的方法 - 不要使用代码编辑器修改
		/// 此方法的内容。
		/// </summary>
		private void InitializeComponent()
		{    
			this.ib_Back.Click += new System.Web.UI.ImageClickEventHandler(this.ib_Back_Click);
			this.ib_Up.Click += new System.Web.UI.ImageClickEventHandler(this.ib_Up_Click);
			this.ib_Search.Click += new System.Web.UI.ImageClickEventHandler(this.ib_Search_Click);
			this.ib_NewFolder.Click += new System.Web.UI.ImageClickEventHandler(this.ib_NewFolder_Click);
			this.ib_NewFile.Click += new System.Web.UI.ImageClickEventHandler(this.ib_NewFile_Click);
			this.dg.ItemCreated += new System.Web.UI.WebControls.DataGridItemEventHandler(this.dg_ItemCreated);
			this.dg.ItemCommand += new System.Web.UI.WebControls.DataGridCommandEventHandler(this.dg_ItemCommand);
			this.dg.EditCommand += new System.Web.UI.WebControls.DataGridCommandEventHandler(this.dg_EditCommand);
			this.dg.DeleteCommand += new System.Web.UI.WebControls.DataGridCommandEventHandler(this.dg_DeleteCommand);
			this.Load += new System.EventHandler(this.Page_Load);

		}
		#endregion

		#region 后退一步
		private void ib_Back_Click(object sender, System.Web.UI.ImageClickEventArgs e)
		{
		
		}
		#endregion

		#region 向上一级
		private void ib_Up_Click(object sender, System.Web.UI.ImageClickEventArgs e)
		{
			//如果当前目录是根目录,提示			
			int folderID = CommHandler.StringToInt(FolderID.Value) ;
			//如果已经是根目录,返回
			if(folderID==0)
			{
				return ;
			}
			//获取目录的父目录
			int parentID = FolderInfo.GetParentID(folderID) ;
			ShowFilesFromFolderID(parentID) ;			
		}
		#endregion

		#region 搜索
		private void ib_Search_Click(object sender, System.Web.UI.ImageClickEventArgs e)
		{
			//重定向到搜索文件页面
            Page.Response.Redirect("FileSearch.aspx") ;		
		}
		#endregion

		#region 新建目录
		private void ib_NewFolder_Click(object sender, System.Web.UI.ImageClickEventArgs e)
		{
			//重定向到新建目录页面(将目录ID作为参数传递给页面
			CommHandler.IFrame_PopUp(Page,"FolderAdmin.aspx?PARENTID="+this.FolderID.Value) ;		
		}
		#endregion

		#region 新建文件
		private void ib_NewFile_Click(object sender, System.Web.UI.ImageClickEventArgs e)
		{
			//重定向到新建文件页面(将目录ID作为参数传递给页面
//			Page.Response.Redirect("FileAdmin.aspx?FOLDIDID="+this.FolderID.Value) ;
			CommHandler.IFrame_PopUp(Page,"FileAdmin.aspx?FOLDERID="+this.FolderID.Value,"650","500") ;
		
		}
		#endregion
		
		#region 表格相关命令
		//编辑
		private void dg_EditCommand(object source, System.Web.UI.WebControls.DataGridCommandEventArgs e)
		{
			//表格选中的行
			DataGridItem dgi = e.Item ;

			//文件ID或目录ID
			int id = CommHandler.StringToInt(dgi.Cells[1].Text.Trim()) ;
			string type = dgi.Cells[3].Text.Trim() ;
			string url = "" ;

			if(type=="文件夹")
			{
				//目录
				//判断权限,Write权限可编辑
				if(!FolderCtrl.HasWriteCtrl(usr.UserID,usr.GroupID,id))
				{
					CommHandler.Alert(Page,"对不起,您没有权限编辑此目录!") ;
					return ;
				}
				//页面重定向到编辑目录页面
				url = "FolderAdmin.aspx?FOLDERID="+id+"&PARENTID="+this.FolderID.Value ;				
			}
			else
			{
				//文件
				//判断权限,Write权限可编辑
				if(!FileCtrl.HasWriteCtrl(usr.UserID,usr.GroupID,id))
				{
					CommHandler.Alert(Page,"对不起,您没有权限编辑此文件!") ;
					return ;
				}
				//页面重定向到编辑文件页面
				url = "FileAdmin.aspx?FILEID="+id+"&FOLDERID="+this.FolderID.Value ;				
			}

			if(url != "")
			{
				CommHandler.IFrame_PopUp(Page,url,"650","500") ;
			}
		
		}
		
		//删除
		private void dg_DeleteCommand(object source, System.Web.UI.WebControls.DataGridCommandEventArgs e)
		{
			//表格选中的行
			DataGridItem dgi = e.Item ;

			//文件ID或目录ID
			int id = CommHandler.StringToInt(dgi.Cells[1].Text.Trim()) ;
			string type = dgi.Cells[3].Text.Trim() ;//序号有待确认

			int flag = 0 ;

			if(type=="文件夹")
			{
				//目录
				//判断权限,Admin权限才能删除
				if(!FolderCtrl.HasAdminCtrl(usr.UserID,usr.GroupID,id))
				{
					CommHandler.Alert(Page,"对不起,您没有权限删除此目录!") ;
					return ;
				}
				//将目录及其子目录和文件放入回收站
				flag = FolderInfo.RecycleFolder(id,usr.UserID) ;
			}
			else
			{
				//文件
			
				//判断权限,Admin权限才能删除
				if(!FileCtrl.HasAdminCtrl(usr.UserID,usr.GroupID,id))
				{
					CommHandler.Alert(Page,"对不起,您没有权限删除此文件!") ;
					return ;
				}
				//将文件放入回收站
				flag = DocFileInfo.RecycleFile(id,usr.UserID) ;
			}
			if(flag>0)
			{
				//删除成功
				CommHandler.Alert(Page,"删除成功!") ;
				//刷新树
			}
		}

		//其他命令(转移)
		private void dg_ItemCommand(object source, System.Web.UI.WebControls.DataGridCommandEventArgs e)
		{
			DataGridItem dgi = e.Item ;

			//文件ID或目录ID
			int id = CommHandler.StringToInt(dgi.Cells[1].Text.Trim()) ;
			string type = dgi.Cells[3].Text.Trim() ;//序号有待确认
			
			if(e.CommandName == "move")
			{
				if(type=="文件夹")
				{					
					//判断权限,Admin权限才能转移
					if(!FolderCtrl.HasAdminCtrl(usr.UserID,usr.GroupID,id))
					{
						CommHandler.Alert(Page,"对不起,您没有权限转移此目录!") ;
						return ;
					}
					
				}
				else
				{
					//文件
			
					//判断权限,Admin权限才能转移
					if(!FileCtrl.HasAdminCtrl(usr.UserID,usr.GroupID,id))
					{
						CommHandler.Alert(Page,"对不起,您没有权限转移此文件!") ;
						return ;
					}								
				}

				//弹出转移页面
				string url = "MoveFile.aspx?FID="+id+"&PID="+this.FolderID.Value ;
				CommHandler.IFrame_PopUp(Page,url) ;
				
			}
			else if(e.CommandName == "view")
			{	
				string url = "" ;
				if(type=="文件夹")
				{					
					//判断权限
					if(!FolderCtrl.HasReadCtrl(usr.UserID,usr.GroupID,id))
					{
						CommHandler.Alert(Page,"对不起,您没有权限查看此目录!") ;
						return ;
					}
					//打开查看目录信息画面
					url = "FolderAdmin.aspx?FOLDERID="+id+"&TYPE=VIEW" ;
				}
				else
				{
					//文件
			
					//判断权限
					if(!FileCtrl.HasReadCtrl(usr.UserID,usr.GroupID,id))
					{
						CommHandler.Alert(Page,"对不起,您没有权限查看此文件!") ;
						return ;
					}
					//打开查看文件信息页面
					url = "FileAdmin.aspx?FILEID="+id+"&TYPE=VIEW" ;
					
				}	
				if(url != "")
				{
					CommHandler.IFrame_PopUp(Page,url,"650","600") ;
				}
			}
		
		}

		//创建项
		private void dg_ItemCreated(object sender, System.Web.UI.WebControls.DataGridItemEventArgs e)
		{
			DataGridItem dgi = e.Item ;

			//页眉页脚不处理
			if(dgi.ItemType == ListItemType.Header
				|| dgi.ItemType == ListItemType.Footer)
			{
				return ;
			}

			//找到删除按钮
			TableCell cell = new TableCell() ;
			cell =  dgi.Cells[14] ;
			LinkButton btn = new LinkButton() ;
			btn = (LinkButton)cell.Controls[0] ;
			CommHandler.AddConfirm(btn,"确认要删除这条记录吗?") ;		
		
		}
		#endregion
		
	}
}

⌨️ 快捷键说明

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