📄 folderadmin.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>
/// 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 + -