?? fileview.aspx.cs
字號(hào):
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 的摘要說(shuō)明。
/// </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)
{
//頁(yè)面重定向到登錄頁(yè)面
string url="Login.aspx" ;
Page.Response.Redirect(url) ;
return ;
}
//獲取文件列表
dtFile = (DataTable)Session["dtFile"] ;
if(dtFile == null)
{
dtFile = new DataTable() ;
}
if(!IsPostBack)
{
//獲取目錄ID,若獲取不成功,轉(zhuǎn)換為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)
{
//先檢查用戶是否具有權(quán)限,沒(méi)有權(quán)限則返回
if(!FolderCtrl.HasReadCtrl(usr.UserID,usr.GroupID,folderID))
{
CommHandler.Alert(Page,"對(duì)不起,你沒(méi)有權(quán)限打開此目錄!") ;
return ;
}
//根據(jù)目錄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 窗體設(shè)計(jì)器生成的代碼
override protected void OnInit(EventArgs e)
{
//
// CODEGEN: 該調(diào)用是 ASP.NET Web 窗體設(shè)計(jì)器所必需的。
//
InitializeComponent();
base.OnInit(e);
}
/// <summary>
/// 設(shè)計(jì)器支持所需的方法 - 不要使用代碼編輯器修改
/// 此方法的內(nèi)容。
/// </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 向上一級(jí)
private void ib_Up_Click(object sender, System.Web.UI.ImageClickEventArgs e)
{
//如果當(dāng)前目錄是根目錄,提示
int folderID = CommHandler.StringToInt(FolderID.Value) ;
//如果已經(jīng)是根目錄,返回
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)
{
//重定向到搜索文件頁(yè)面
Page.Response.Redirect("FileSearch.aspx") ;
}
#endregion
#region 新建目錄
private void ib_NewFolder_Click(object sender, System.Web.UI.ImageClickEventArgs e)
{
//重定向到新建目錄頁(yè)面(將目錄ID作為參數(shù)傳遞給頁(yè)面
CommHandler.IFrame_PopUp(Page,"FolderAdmin.aspx?PARENTID="+this.FolderID.Value) ;
}
#endregion
#region 新建文件
private void ib_NewFile_Click(object sender, System.Web.UI.ImageClickEventArgs e)
{
//重定向到新建文件頁(yè)面(將目錄ID作為參數(shù)傳遞給頁(yè)面
// Page.Response.Redirect("FileAdmin.aspx?FOLDIDID="+this.FolderID.Value) ;
CommHandler.IFrame_PopUp(Page,"FileAdmin.aspx?FOLDERID="+this.FolderID.Value,"650","500") ;
}
#endregion
#region 表格相關(guān)命令
//編輯
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=="文件夾")
{
//目錄
//判斷權(quán)限,Write權(quán)限可編輯
if(!FolderCtrl.HasWriteCtrl(usr.UserID,usr.GroupID,id))
{
CommHandler.Alert(Page,"對(duì)不起,您沒(méi)有權(quán)限編輯此目錄!") ;
return ;
}
//頁(yè)面重定向到編輯目錄頁(yè)面
url = "FolderAdmin.aspx?FOLDERID="+id+"&PARENTID="+this.FolderID.Value ;
}
else
{
//文件
//判斷權(quán)限,Write權(quán)限可編輯
if(!FileCtrl.HasWriteCtrl(usr.UserID,usr.GroupID,id))
{
CommHandler.Alert(Page,"對(duì)不起,您沒(méi)有權(quán)限編輯此文件!") ;
return ;
}
//頁(yè)面重定向到編輯文件頁(yè)面
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() ;//序號(hào)有待確認(rèn)
int flag = 0 ;
if(type=="文件夾")
{
//目錄
//判斷權(quán)限,Admin權(quán)限才能刪除
if(!FolderCtrl.HasAdminCtrl(usr.UserID,usr.GroupID,id))
{
CommHandler.Alert(Page,"對(duì)不起,您沒(méi)有權(quán)限刪除此目錄!") ;
return ;
}
//將目錄及其子目錄和文件放入回收站
flag = FolderInfo.RecycleFolder(id,usr.UserID) ;
}
else
{
//文件
//判斷權(quán)限,Admin權(quán)限才能刪除
if(!FileCtrl.HasAdminCtrl(usr.UserID,usr.GroupID,id))
{
CommHandler.Alert(Page,"對(duì)不起,您沒(méi)有權(quán)限刪除此文件!") ;
return ;
}
//將文件放入回收站
flag = DocFileInfo.RecycleFile(id,usr.UserID) ;
}
if(flag>0)
{
//刪除成功
CommHandler.Alert(Page,"刪除成功!") ;
//刷新樹
}
}
//其他命令(轉(zhuǎn)移)
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() ;//序號(hào)有待確認(rèn)
if(e.CommandName == "move")
{
if(type=="文件夾")
{
//判斷權(quán)限,Admin權(quán)限才能轉(zhuǎn)移
if(!FolderCtrl.HasAdminCtrl(usr.UserID,usr.GroupID,id))
{
CommHandler.Alert(Page,"對(duì)不起,您沒(méi)有權(quán)限轉(zhuǎn)移此目錄!") ;
return ;
}
}
else
{
//文件
//判斷權(quán)限,Admin權(quán)限才能轉(zhuǎn)移
if(!FileCtrl.HasAdminCtrl(usr.UserID,usr.GroupID,id))
{
CommHandler.Alert(Page,"對(duì)不起,您沒(méi)有權(quán)限轉(zhuǎn)移此文件!") ;
return ;
}
}
//彈出轉(zhuǎn)移頁(yè)面
string url = "MoveFile.aspx?FID="+id+"&PID="+this.FolderID.Value ;
CommHandler.IFrame_PopUp(Page,url) ;
}
else if(e.CommandName == "view")
{
string url = "" ;
if(type=="文件夾")
{
//判斷權(quán)限
if(!FolderCtrl.HasReadCtrl(usr.UserID,usr.GroupID,id))
{
CommHandler.Alert(Page,"對(duì)不起,您沒(méi)有權(quán)限查看此目錄!") ;
return ;
}
//打開查看目錄信息畫面
url = "FolderAdmin.aspx?FOLDERID="+id+"&TYPE=VIEW" ;
}
else
{
//文件
//判斷權(quán)限
if(!FileCtrl.HasReadCtrl(usr.UserID,usr.GroupID,id))
{
CommHandler.Alert(Page,"對(duì)不起,您沒(méi)有權(quán)限查看此文件!") ;
return ;
}
//打開查看文件信息頁(yè)面
url = "FileAdmin.aspx?FILEID="+id+"&TYPE=VIEW" ;
}
if(url != "")
{
CommHandler.IFrame_PopUp(Page,url,"650","600") ;
}
}
}
//創(chuàng)建項(xiàng)
private void dg_ItemCreated(object sender, System.Web.UI.WebControls.DataGridItemEventArgs e)
{
DataGridItem dgi = e.Item ;
//頁(yè)眉頁(yè)腳不處理
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,"確認(rèn)要?jiǎng)h除這條記錄嗎?") ;
}
#endregion
}
}
?? 快捷鍵說(shuō)明
復(fù)制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號(hào)
Ctrl + =
減小字號(hào)
Ctrl + -