securityfmpage.aspx.cs
来自「asp。net 2.0宝典一书源码 全书源码给大家共享」· CS 代码 · 共 577 行 · 第 1/2 页
CS
577 行
{
//取得文件夹和文件的ID
int FolderId =Convert.ToInt32(E.Item.Cells[1].Text);
int DocId=Convert.ToInt32(E.Item.Cells[0].Text);
//如果是根目录文件
if(FolderId==0)
{
//判断用户是否有此文件的管理权限
if(RightForManage_Doc(DocId)==true)
{
//删除文件
DeleteDoc(DocId,fm_empid);
FirstLoad();
}
else
{
Response.Write("<script language='javascript'>alert('您没有权限管理该文件!');</script>");
}
}
else
{
//如果删除的是文件,先判断该文件的父文件是否有管理权限
if(RightForManage_Folder(FolderId)==true)
{
//桌面文件
if( DocId==0)
{
DeleteFolder(FolderId);
}
else
{
//下级文件夹或文件
int fid;
fid = Convert.ToInt32(Session["_fm_id"].ToString());
if(FolderId==fid)
{
if(RightForManage_Doc(DocId)==true)
{
DeleteDoc(DocId,fm_empid);
ReBind(fid);
}
}
else
{
//删除该文件夹和其下面的所有文件夹
DeleteFolder(FolderId);
ReBind(fid);
}
}
//刷新
UpdateLeftTree();
}
else
{
Response.Write("<script language='javascript'>alert('您没有权限管理该文件夹!');</script>");
}
}
}
public void DeleteFolder(int folderid)
{
FileA FileA =new FileA();
//获取folderid文件夹下所有子文件夹并存入arrlist
ArrayList arrlist=(new FileA()).GetDelFolderId(folderid);
for(int i=0;i<arrlist.Count;i++)
{
int foldid=Convert.ToInt32(arrlist[i].ToString(),10);
//删除子文件夹
FileA.DeleteFolder(foldid,fm_empid,1);
}
//得到所有子文件夹下的所有子文件的ID,保存在arrlistDoc中
ArrayList arrlistDoc= FileA.GetDelDocId(arrlist);
for(int j=0;j<arrlistDoc.Count;j++)
{
//从子文件的集合中取出每个文件的ID
int docid=Convert.ToInt32(arrlistDoc[j].ToString(),10);
//删除文件
DeleteDoc(docid,fm_empid);
}
//根据保存在Session中的当前文件ID刷新页面
int fid=Convert.ToInt32(Session["_fm_id"].ToString(),10);
if(fid==0)
{
FirstLoad();
}
else
{
ReBind(fid);
}
}
public void DeleteDoc(int docid,int empid)
{
FileA filedata=new FileA();
filedata.DeleteDoc(docid,empid);
}
public bool RightForManage_Folder(int folderid)
{
int depid=(new FileRight()).GetDepId(fm_empid);
string rightctr_dep=(new FileBLL()).GetFolderRightForDep(folderid,depid);
if(rightctr_dep=="Admin")
{
return true;
}
else
{
string rightctr_emp=(new FileBLL()).GetFolderRight(folderid,fm_empid);
if(rightctr_emp=="Admin")
{
return true;
}
else
{
return false;
}
}
}
public bool RightForManage_Doc(int docid)
{
int depid=(new FileRight()).GetDepId(fm_empid);
string rightctr_dep=(new FileBLL()).GetDocRightForDep(docid,depid);
if(rightctr_dep=="Admin")
{
return true;
}
else
{
string rightctr_emp=(new FileBLL()).GetDocRight(docid,fm_empid);
if(rightctr_emp=="Admin")
{
return true;
}
else
{
return false;
}
}
}
public void RightForEdit_Folder(int folderid,int docid,int empid)
{
string rightctr_emp=(new FileBLL()).GetFolderRight(folderid,empid);
if(rightctr_emp=="Admin"||rightctr_emp=="Write"||rightctr_emp=="Read")
{
Response.Redirect("fmNewFolder.aspx?type=-3&id="+ folderid+"&docid="+docid);
}
else
{
int depid=(new FileRight()).GetDepId(empid);
string rightctr_dep=(new FileBLL()).GetFolderRightForDep(folderid,depid);
if(rightctr_dep=="Admin"||rightctr_dep=="Write"||rightctr_dep=="Read")
{
Response.Redirect("fmNewFolder.aspx?type=-3&id="+ folderid+"&docid="+docid);
}
else
{
Response.Write("<script language='javascript'>alert('您没有权限访问改文件夹!');</script>");
}
}
}
public DataTable CreateTable(DataView dv)
{
DataTable dvtable=new DataTable();
DataColumnCollection d= dvtable.Columns;
d.Add("folderid",typeof(System.Int32));
d.Add("Docid", typeof(System.Int32));
d.Add("fname",typeof(System.String));
d.Add("typename",typeof(System.String));
d.Add("note",typeof(System.String));
d.Add("empid",typeof(System.String));
d.Add("cdate",typeof(System.String));
int recordcount = dv.Count;
for(int i=0;i<recordcount;i++)
{
DataRow row = dvtable.NewRow();
row["folderid"]=Convert.ToInt32(dv[i].Row[0].ToString(),10);
row["Docid"] =Convert.ToInt32(dv[i].Row[1].ToString(),10);
row["fname"]=dv[i].Row[14].ToString()+dv[i].Row[3].ToString();
row["note"]=dv[i].Row[5].ToString();
DateTime cdate=Convert.ToDateTime(dv[i].Row[7].ToString());
row["cdate"]=cdate.Year+"-"+cdate.Month+"-"+cdate.Day;
row["empid"]=(new FileA()).GetEmpName(Convert.ToInt32(dv[i].Row[9].ToString()));
row["typename"]=dv[i].Row[13].ToString();
dvtable.Rows.Add(row);
}
return dvtable;
}
private void dgdFolder_ItemCommand(object source, System.Web.UI.WebControls.DataGridCommandEventArgs e)
{
//如果文件或文件夹移动
if(e.CommandName=="move")
{
//得到文件夹和文件的ID
int did=Convert.ToInt32(e.Item.Cells[0].Text.ToString(),10);
int fid=Convert.ToInt32(e.Item.Cells[1].Text.ToString(),10);
if(did==0&&fid!=0)
{
//桌面文件夹
//判断用户对该文件夹是否有管理权限
if(RightForManage_Folder(fid)==true)
{
Response.Redirect("fmSelFolder.aspx?DocId="+did+"&FolderId="+fid);
}
else
{
Response.Write("<script language='javascript'>alert('您没有权限管理该文件夹!');</script>");
}
}
else if(did!=0&&fid==0)
{
//桌面文件
//判断用户对该文件夹是否有管理权限
if(RightForManage_Doc(did)==true)
{
Response.Redirect("fmSelFolder.aspx?DocId="+did+"&FolderId="+fid);
}
else
{
Response.Write("<script language='javascript'>alert('您没有权限管理该文件!');</script>");
}
}
else if(did!=0&&fid!=0)
{
//下级文件夹或文件
//父目录ID
int id=Convert.ToInt32(Session["_fm_id"].ToString());
//下级文件夹
if(fid!=id )
{
//判断用户对该文件夹是否有管理权限
if(RightForManage_Folder(fid)==true)
{
Response.Redirect("fmSelFolder.aspx?DocId="+did+"&FolderId="+fid);
}
else
{
Response.Write("<script language='javascript'>alert('您没有权限管理该文件夹!');</script>");
}
}
//下级文件编辑
else
{
//判断用户对该文件是否有管理权限
if(RightForManage_Doc(did)==true)
{
Response.Redirect("fmSelFolder.aspx?DocId="+did+"&FolderId="+fid);
}
else
{
Response.Write("<script language='javascript'>alert('您没有权限管理该文件!');</script>");
}
}
}
}
}
private void UpdateLeftTree()
{
Response.Write("<script>parent.frmDocTree.location.reload();</script>");
}
private void dgdFolder_ItemDataBound(object sender, System.Web.UI.WebControls.DataGridItemEventArgs e)
{
ListItemType itemType = e.Item.ItemType;
e.Item.Attributes["onmouseover"] = "javascript:this.style.backgroundColor='#fff7ce';cursor='hand';" ;
if (itemType == ListItemType.Item )
{
e.Item.Attributes["onmouseout"] = "javascript:this.style.backgroundColor='#dedfde';";
}
else if( itemType == ListItemType.AlternatingItem)
{
e.Item.Attributes["onmouseout"] = "javascript:this.style.backgroundColor='#ffffff';";
}
}
}
}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?