folderedit.aspx.cs
来自「ASP.NET的一些开发实例,有论坛管理系统等」· CS 代码 · 共 239 行
CS
239 行
using System;
using System.Collections;
using System.ComponentModel;
using System.Data;
using System.Data.OleDb;
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 Service;
namespace PKMS
{
/// <summary>
/// FolderEdit 的摘要说明。
/// </summary>
public class FolderEdit : System.Web.UI.Page
{
protected System.Web.UI.WebControls.Button Button_Save;
protected System.Web.UI.WebControls.DropDownList DropDownList_Folder;
protected System.Web.UI.WebControls.Button Button_Parent;
protected System.Web.UI.WebControls.TextBox TextBox_FullPath;
protected System.Web.UI.WebControls.TextBox TextBox_FolderName;
protected System.Web.UI.WebControls.TextBox TextBox_Note;
private void Page_Load(object sender, System.EventArgs e)
{
// 在此处放置用户代码以初始化页面
if (!Page.IsPostBack)
{
this.ListChildren("01", "技术文库");
}
}
#region Web 窗体设计器生成的代码
override protected void OnInit(EventArgs e)
{
//
// CODEGEN: 该调用是 ASP.NET Web 窗体设计器所必需的。
//
InitializeComponent();
base.OnInit(e);
}
/// <summary>
/// 设计器支持所需的方法 - 不要使用代码编辑器修改
/// 此方法的内容。
/// </summary>
private void InitializeComponent()
{
this.DropDownList_Folder.SelectedIndexChanged += new System.EventHandler(this.DropDownList_Folder_SelectedIndexChanged);
this.Button_Parent.Click += new System.EventHandler(this.Button_Parent_Click);
this.Button_Save.Click += new System.EventHandler(this.Button_Save_Click);
this.Load += new System.EventHandler(this.Page_Load);
}
#endregion
/// <summary>
/// 改变文档分类
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void DropDownList_Folder_SelectedIndexChanged(object sender, System.EventArgs e)
{
this.ListChildren(this.DropDownList_Folder.SelectedItem.Value, this.DropDownList_Folder.SelectedItem.Text);
this.Button_Parent.Enabled = true;
}
/// <summary>
/// 列出下级目录
/// </summary>
/// <param name="ParentCode">上级目录代码</param>
/// <param name="MenuName">上级目录名称</param>
private void ListChildren(string ParentCode, string MenuName)
{
DataAccessor da = new DataAccessor();
string sql = "Select MenuCode, MenuName From MENU Where Editable=1 And ParentCode=" + ParentCode + " Order by MenuCode";
da.Sql = sql;
OleDbDataReader dr = da.ExecuteReader();
DropDownList_Folder.DataSource = dr;
DropDownList_Folder.DataTextField = "MenuName";
DropDownList_Folder.DataValueField = "MenuCode";
DropDownList_Folder.DataBind();
da.Close();
System.Web.UI.WebControls.ListItem parent = new ListItem("----" + MenuName + "----", ParentCode);
DropDownList_Folder.Items.Insert(0,parent);
GetPath(0,ParentCode,true);
}
/// <summary>
/// 获取文档目录的完整路径
/// </summary>
/// <param name="levelcounter">层数计数器</param>
/// <param name="folderid">文档分类ID</param>
/// <param name="flag">路径文本重置标志</param>
private void GetPath(int levelcounter, string folderid, bool flag)
{
//重置路径文本标志
if(flag == true)
{
this.TextBox_FullPath.Text = "";
flag = false;
}
DataAccessor da = new DataAccessor();
string sql = "Select MenuCode, MenuName From MENU Where MenuCode='" + folderid + "'";
DataRow dr = da.ExecuteRecord(sql);
String MenuCode = dr["MenuCode"].ToString();
String MenuName = dr["MenuName"].ToString();
if(dr["MenuCode"].ToString() != "01" && levelcounter<10)
{
this.TextBox_FullPath.Text = dr["MenuName"].ToString() + " > " + this.TextBox_FullPath.Text;
string ParentCode = da.ExecuteScalar("Select ParentCode From MENU Where MenuCode='" + folderid + "'").ToString();
levelcounter++;
GetPath(levelcounter, ParentCode, flag);
}
da.Close();
}
/// <summary>
/// 点击“上一级”按钮
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void Button_Parent_Click(object sender, System.EventArgs e)
{
DataAccessor da = new DataAccessor();
string sql = "Select P.MenuCode, P.MenuName From MENU P, MENU S Where S.ParentCode=P.MenuCode And S.MenuCode='" + this.DropDownList_Folder.SelectedValue + "'";
DataRow dr = da.ExecuteRecord(sql);
string ParentCode = dr["MenuCode"].ToString();
string ParentName = dr["MenuName"].ToString();
da.Close();
ListChildren(ParentCode, ParentName);
if(this.DropDownList_Folder.SelectedValue == "01")
{
this.Button_Parent.Enabled = false;
}
}
/// <summary>
/// 保存
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void Button_Save_Click(object sender, System.EventArgs e)
{
//数据检查
if(this.CheckData() == false)
{
return;
}
string sql;
DataAccessor da = new DataAccessor();
//获取新的MENUID
int MenuID = da.GetNewID("MENU", "MenuID");
//计算新的ParentCode
string ParentCode = this.DropDownList_Folder.SelectedValue;
//计算新的MenuCode
sql = "Select Max(MenuCode) From MENU Where ParentCode = '" + ParentCode + "'";
string MenuCode = da.ExecuteScalar(sql).ToString();
if(MenuCode == "")
{
MenuCode = ParentCode + "01";
}
else
{
string temp = MenuCode.Trim();
temp = (int.Parse(temp.Substring(temp.Length-2,2).TrimStart('0')) + 1).ToString().PadLeft(2,'0');
MenuCode = ParentCode + temp;
}
//获取其它信息
string MenuName = this.TextBox_FolderName.Text.Trim();
string Note = this.TextBox_Note.Text.Trim();
string LinkPage = "/ArticleList.aspx";
//执行插入数据库记录的语句
sql = "Insert Into MENU(MenuID, MenuName, ParentCode, MenuCode, LinkPage, Note, Editable, IsLast)" +
" Values(" + MenuID + "," +
"'" + MenuName + "'," +
"'" + ParentCode + "'," +
"'" + MenuCode + "'," +
"'" + LinkPage + "'," +
"'" + Note + "'," +
"1,1" +
")\r\n";
sql += "Update MENU Set IsLast=0 Where MenuCode='" + ParentCode + "'";
if(da.ExecuteNonQuery(sql) != -1)
{
this.Response.Write("<script>alert('该文档分类已经成功添加!');</script>");
}
else
{
this.Response.Write("<script>alert('该文档分类添加失败!');</script>");
}
da.Close();
}
/// <summary>
/// 数据有效性检查
/// </summary>
/// <returns></returns>
private bool CheckData()
{
if(this.TextBox_FolderName.Text.Trim().Length==0)
{
this.Response.Write("<script>alert('请输入文档分类的名称!');</script>");
return false;
}
else
{
return true;
}
}
}
}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?