📄 fileview.aspx.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 + -