?? folderadmin.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>
/// 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 ;
}
//取目錄權(quán)限表
dtFolderCtrl = DocAdminGlobals.dtCtrl ;
if(!IsPostBack)
{
//從頁面請(qǐng)求URL中獲得目錄和文件編號(hào)
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")
{
//查看時(shí),不顯示保存按鈕
this.b_Save.Visible = false ;
this.b_AddCtrl.Visible = false ;
}
else
{
//編輯時(shí),根據(jù)權(quán)限顯示畫面
if(FolderCtrl.HasAdminCtrl(usr.UserID,usr.GroupID,folderID))
{
//管理權(quán)限
this.p_Admin.Visible = true ;
}
else if(FolderCtrl.HasWriteCtrl(usr.UserID,usr.GroupID,folderID))
{
//改寫權(quán)限
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)
{
//實(shí)例一個(gè)文件信息對(duì)象
FolderInfo fi = new FolderInfo() ;
//調(diào)用文件信息對(duì)象的查詢方法
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 ;
//文件權(quán)限信息
if(ctrl!="ADD")
{
dtFolderCtrl = FolderCtrl.GetFolderCtrlFromFolderID(folderID) ;
DocAdminGlobals.dtCtrl = dtFolderCtrl ;
}
}
#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.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() ;
//文件信息添加成功,新建文件權(quán)限信息
SaveFolderCtrl() ;
CommHandler.Alert(Page,"目錄信息添加成功!") ;
}
}
else
{
//修改目錄信息
fi.FolderID = folderID ;
int ret = fi.ModifyFolderInfo() ;
if(ret>0)
{
//修改目錄權(quán)限信息
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>
/// 從表格中獲取權(quán)限信息存入DataRow中
/// </summary>
private void GetCtrlData(DataRow dr,int index)
{
//管理權(quán)限
dr["AdminCtrl"] = ((RadioButton)dgCtrl.Items[index].FindControl("r_Admin")).Checked ;
//改寫權(quán)限
dr["WriteCtrl"] = ((RadioButton)dgCtrl.Items[index].FindControl("r_Write")).Checked ;
//讀取權(quán)限
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() ;
//從表格中獲取權(quán)限信息
GetCtrlData(dr,i) ;
//綁定目錄權(quán)限信息
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) ;
//調(diào)用添加目錄控制權(quán)限方法
int ctrlid = fc.AddFolderCtrl() ;
//將新產(chǎn)生的ID寫回DataTable
dr["FolderID"] = h_FolderID.Value ;
dr["CtrlID"] = ctrlid.ToString() ;
}
}
}
#endregion
#region 添加權(quán)限
private void b_AddCtrl_Click(object sender, System.EventArgs e)
{
//彈出模態(tài)對(duì)話框以添加權(quán)限
string url = "AddCtrl.aspx" ;
CommHandler.IFrame_PopUp(Page,url,"600","450") ;
}
#endregion
#region 刪除權(quán)限
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
}
}
?? 快捷鍵說明
復(fù)制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號(hào)
Ctrl + =
減小字號(hào)
Ctrl + -