功能需求:
1.有部门管理权限的人员进行添加部门基本信息。
2.有部门权限管理的人员查询部门基本信息。
3.有部门权限管理的人员进行修改部门基本信息。
4.在一个页面中实现,使用弹出对话框方式
存储过程:
-- =============================================
ALTER PROCEDURE [dbo].[Department_Add]
@DepartmentName nvarchar(50),
@Tel1 nvarchar(20),
@Tel2 nvarchar(20),
@ReMark nvarchar(200)
AS
BEGIN
INSERT INTO Department
(
DepartmentName,
Tel1,
Tel2,
ReMark
)
VALUES
(
@DepartmentName,
@Tel1,
@Tel2,
@ReMark
)
--修改部门显示顺序
DECLARE @id int
SET @id=@@IDENTITY
UPDATE Department
SET
Displayorder =@id
WHERE DepartmentId=@id
END
修改:
------------------------------------
ALTER PROCEDURE [dbo].[Department_Update]
@DepartmentId int,
@DepartmentName nvarchar(50),
@Tel1 nvarchar(20),
@Tel2 nvarchar(20),
@Displayorder int,
@ReMark nvarchar(200)
AS
UPDATE [Department] SET
[DepartmentName] = @DepartmentName,[Tel1] = @Tel1,[Tel2] = @Tel2,[Displayorder] = @Displayorder,[ReMark] = @ReMark
WHERE DepartmentId=@DepartmentId
前台的页面:
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="DepartMentManager.aspx.cs" Inherits="BioErpWeb.HRSystem.DepartMentManager" %>
<%@ Register Assembly="AspNetPager" Namespace="Wuqi.Webdiyer" TagPrefix="webdiyer" %>
<%@ Register Assembly="AjaxControlToolkit" Namespace="AjaxControlToolkit" TagPrefix="cc1" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title></title>
<link href="../Styles/ERPBaseStyle.css" rel="stylesheet" type="text/css" />
<link href="../Styles/AspNetPagerStyle.css" rel="stylesheet" type="text/css" />
</head>
<body>
<form id="form1" runat="server">
<asp:ScriptManager ID="ScriptManager1" runat="server">
</asp:ScriptManager>
<div>
<asp:UpdatePanel id="up_all" runat="server">
<contenttemplate>
<asp:ImageButton ID="imgEditBtn" Width="1" Height="1" runat="server" />
<cc1:ModalPopupExtender ID="Modal_Add" TargetControlID="btnNew" PopupControlID="Panel_Add" runat="server">
</cc1:ModalPopupExtender>
<cc1:ModalPopupExtender ID="Modal_Update" TargetControlID="imgEditBtn" PopupControlID="Panel_Update" runat="server">
</cc1:ModalPopupExtender>
<div>
<asp:Panel ID="Panel_Add" runat="server" CssClass="pLogo">
<table class="tb_mess">
<thead class="name"><caption>部门信息添加</caption></thead>
<tr>
<td>部门名</td><td>
<asp:TextBox ID="txtDepartMent0" runat="server"></asp:TextBox>
</td>
</tr>
<tr>
<td>电话号码1</td><td>
<asp:TextBox ID="txtTel10" runat="server"></asp:TextBox>
</td>
</tr>
<tr>
<td>电话号码2</td><td>
<asp:TextBox ID="txtTel20" runat="server"></asp:TextBox>
</td>
</tr>
<tr>
<td>备注</td><td>
<asp:TextBox ID="txtReMark" runat="server"></asp:TextBox>
</td>
</tr>
<tr>
<td colspan="2" class="bottomtd">
<asp:Button ID="btnAdd" runat="server" Text="提交" onclick="btnAdd_Click"/>
<asp:Button ID="Button1" runat="server" Text="关闭" />
</td>
</tr>
</table>
</asp:Panel>
</div>
<div>
<asp:Panel ID="Panel_Update" runat="server" CssClass="pLogo">
<table class="tb_mess">
<thead class="name"><caption>部门信息编辑</caption></thead>
<tr>
<td>部门名</td><td>
<asp:TextBox ID="txtDepartMent1" runat="server"></asp:TextBox>
</td>
</tr>
<tr>
<td>电话号码1</td><td>
<asp:TextBox ID="txtTel11" runat="server"></asp:TextBox>
</td>
</tr>
<tr>
<td>电话号码2</td><td>
<asp:TextBox ID="txtTel21" runat="server"></asp:TextBox>
</td>
</tr>
<tr>
<td>显示顺序</td><td>
<asp:TextBox ID="txtDisplayOrder1" runat="server"></asp:TextBox>
</td>
</tr>
<tr>
<td>备注</td><td>
<asp:TextBox ID="txtReMark1" runat="server"></asp:TextBox>
</td>
</tr>
</tr>
<td colspan="2" class="bottomtd">
<asp:Button ID="btnUpdate" runat="server" Text="提交" onclick="btnUpdate_Click" />
<asp:Button ID="btnClose1" CausesValidation="false" runat="server" Text="关闭"
onclick="btnClose1_Click" /></td>
</table>
</asp:Panel>
</div>
<table class="maintable">
<tr>
<td class="titlebar">
部门信息管理系统
</td>
</tr>
<tr>
<td style=" text-align:right; padding-right:10px; ">
<asp:Button ID="btnNew" runat="server" Text="添加" BackColor="#CDEAFB" Width="80px" Height="30px" />
</td>
</tr>
<tr>
<td>
<asp:GridView ID="GridView1" Width="100%" AutoGenerateColumns="False"
runat="server" onrowcommand="GridView1_RowCommand" DataKeyNames="DepartmentId">
<Columns>
<asp:TemplateField HeaderText="编号">
<ItemTemplate>
<asp:Label ID="Label1" runat="server" Text='<%# Eval("DepartmentId") %>'></asp:Label>
</ItemTemplate>
<ItemStyle HorizontalAlign="Center" />
</asp:TemplateField>
<asp:TemplateField HeaderText="部门名称">
<ItemTemplate>
<asp:Label ID="Label2" runat="server" Text='<%# Eval("DepartmentName") %>'></asp:Label>
</ItemTemplate>
<ItemStyle HorizontalAlign="Center" />
</asp:TemplateField>
<asp:TemplateField HeaderText="电话号码1">
<ItemTemplate>
<asp:Label ID="Label3" runat="server" Text='<%# Eval("Tel1") %>'></asp:Label>
</ItemTemplate>
<ItemStyle HorizontalAlign="Center" />
</asp:TemplateField>
<asp:TemplateField HeaderText="电话号码2">
<ItemTemplate>
<asp:Label ID="Label4" runat="server" Text='<%# Eval("Tel2") %>'></asp:Label>
</ItemTemplate>
<ItemStyle HorizontalAlign="Center" />
</asp:TemplateField>
<asp:TemplateField HeaderText="显示顺序">
<ItemTemplate>
<asp:Label ID="Label5" runat="server" Text='<%# Eval("Displayorder") %>'></asp:Label>
</ItemTemplate>
<ItemStyle HorizontalAlign="Center" />
</asp:TemplateField>
<asp:TemplateField HeaderText="说明">
<ItemTemplate>
<asp:Label ID="Label6" runat="server" Text='<%# Eval("ReMark") %>'></asp:Label>
</ItemTemplate>
<ItemStyle HorizontalAlign="Center" />
</asp:TemplateField>
<asp:TemplateField HeaderText="操作">
<ItemTemplate>
<asp:ImageButton ID="imgEditBtn" Width="50" Height="20" CommandName="imgEdit" CommandArgument='<%#Eval("DepartmentId") %>' CausesValidation="false" ImageUrl="~/Web/images/Edit.gif" runat="server" />
</ItemTemplate>
<ItemStyle HorizontalAlign="Center" />
</asp:TemplateField>
</Columns>
</asp:GridView>
</td>
</tr>
<tr>
<td>
<webdiyer:AspNetPager ID="AspNetPager1" CssClass="paginator"
CurrentPageButtonClass="cpb" runat="server"
onpagechanged="AspNetPager1_PageChanged">
</webdiyer:AspNetPager>
</td>
</tr>
</table>
</contenttemplate>
</asp:UpdatePanel>
</div>
</form>
</body>
</html>
BLL层:
public class DepartMentBLL
{
/// <summary>
/// 添加
/// </summary>
/// <param name="de"></param>
/// <returns></returns>
public int DepartMentAdd(DepartMent de)
{
SqlParameter[] parameters = {
new SqlParameter("@DepartmentName", SqlDbType.NVarChar,50),
new SqlParameter("@Tel1", SqlDbType.NVarChar,20),
new SqlParameter("@Tel2", SqlDbType.NVarChar,20),
new SqlParameter("@ReMark", SqlDbType.NVarChar,200)};
parameters[0].Value = de.DepartmentName;
parameters[1].Value = de.Tel1;
parameters[2].Value = de.Tel2;
parameters[3].Value = de.ReMark;
return DataBaseHelper.ExcuteSqlReturnInt("Department_ADD", CommandType.StoredProcedure, parameters);
}
/// <summary>
/// 修改
/// </summary>
/// <param name="de"></param>
/// <returns></returns>
public int DepartMentUpdate(DepartMent de)
{
SqlParameter[] parameters = {
new SqlParameter("@DepartmentId", SqlDbType.Int,4),
new SqlParameter("@DepartmentName", SqlDbType.NVarChar,50),
new SqlParameter("@Tel1", SqlDbType.NVarChar,20),
new SqlParameter("@Tel2", SqlDbType.NVarChar,20),
new SqlParameter("@Displayorder", SqlDbType.Int,4),
new SqlParameter("@ReMark", SqlDbType.NVarChar,200)};
parameters[0].Value = de.DepartmentId;
parameters[1].Value = de.DepartmentName;
parameters[2].Value = de.Tel1;
parameters[3].Value = de.Tel2;
parameters[4].Value = de.Displayorder;
parameters[5].Value = de.ReMark;
return DataBaseHelper.ExcuteSqlReturnInt("Department_Update", CommandType.StoredProcedure, parameters);
}
/// <summary>
/// 根据ID获取编号
/// </summary>
/// <param name="ID"></param>
/// <returns></returns>
public DepartMent getDepartMentById(string ID)
{
DepartMent d = new DepartMent();
return null;
}
}
界面层:
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
pagebind();
}
}
public static int pageindex = 0;
public static int pagesize = 10;
public static string condition = "";
protected void pagebind()
{
this.AspNetPager1.RecordCount = SqlComm.getDataCountByCondition("Department", condition);
this.AspNetPager1.PageSize = pagesize;
this.GridView1.DataSource = SqlComm.getDataByPageIndex("Department", "*", "DepartmentId", condition, pageindex, pagesize);
this.GridView1.DataBind();
}
DepartMentBLL debll = new DepartMentBLL();
protected void btnAdd_Click(object sender, EventArgs e)
{
DepartMent de = new DepartMent();
de.DepartmentName = this.txtDepartMent0.Text;
de.ReMark = this.txtReMark.Text;
de.Tel1 = this.txtTel10.Text;
de.Tel2 = this.txtTel20.Text;
if (debll.DepartMentAdd(de) != 0)
{
pagebind();
}
this.Modal_Add.Hide();
}
protected void AspNetPager1_PageChanged(object sender, EventArgs e)
{
pageindex = this.AspNetPager1.CurrentPageIndex - 1;
pagebind();
}
protected void btnUpdate_Click(object sender, EventArgs e)
{
}
protected void GridView1_RowCommand(object sender, GridViewCommandEventArgs e)
{
if (e.CommandName == "imgEdit")
{
this.Modal_Update.Show();
}
}
protected void btnClose1_Click(object sender, EventArgs e)
{
this.Modal_Update.Hide();
}
修改BLL:
/// <summary>
/// 根据ID获取编号
/// </summary>
/// <param name="ID"></param>
/// <returns></returns>
public DepartMent getDepartMentById(string ID)
{
DepartMent d = new DepartMent();
SqlDataReader reader= SqlComm.GetDataReaderByCondition("Department", "*", " DepartmentId= " + ID);
while (reader.Read())
{
d.DepartmentId=int.Parse(reader["DepartmentId"].ToString());
d.DepartmentName = reader["DepartmentName"].ToString();
d.Displayorder = int.Parse(reader["Displayorder"].ToString());
d.ReMark = reader["ReMark"].ToString();
d.Tel1 = reader["Tel1"].ToString();
d.Tel2 = reader["Tel2"].ToString();
}
reader.Close();
return d;
}
UI代码:
protected void btnUpdate_Click(object sender, EventArgs e)
{
de.DepartmentName = this.txtDepartMent1.Text;
de.ReMark = this.txtReMark1.Text;
de.Tel1 = this.txtTel11.Text;
de.Tel2 = this.txtTel21.Text;
de.Displayorder = int.Parse(this.txtDisplayOrder1.Text.Trim()) ;
if (debll.DepartMentUpdate(de) != 0)
{
pagebind();
}
else
{
ScriptManager.RegisterStartupScript(this, this.GetType(), "test", "alert('修改失败')", true);
}
this.Modal_Update.Hide();
}
角色的管理:
公用层:
/// <summary>
/// 获取员工角色列表
/// </summary>
/// <returns>DataTable</returns>
public static DataTable getUserRoseList()
{
return DataBaseHelper.SelectSQLReturnTable("getUserRoseList", CommandType.StoredProcedure);
}
BLL层:
public class RoseBLL
{
/// <summary>
/// 添加一个角色信息
/// </summary>
/// <param name="rose"></param>
/// <returns></returns>
public int Rose_Add(tbRose rose)
{
SqlParameter[] parameters = {
new SqlParameter("@RoseName", SqlDbType.NVarChar,50)};
parameters[0].Value = rose.RoseName;
return DataBaseHelper.ExcuteSqlReturnInt("tbRose_ADD", CommandType.StoredProcedure, parameters);
}
/// <summary>
/// 修改一个角色对象
/// </summary>
/// <param name="rose"></param>
/// <returns></returns>
public int Rose_Update(tbRose rose)
{
SqlParameter[] parameters = {
new SqlParameter("@RoseID", SqlDbType.Int,4),
new SqlParameter("@RoseName", SqlDbType.NVarChar,50)};
parameters[0].Value = rose.RoseID;
parameters[1].Value = rose.RoseName;
return DataBaseHelper.ExcuteSqlReturnInt("tbRose_Update", CommandType.StoredProcedure, parameters);
}
/// <summary>
/// 根据ID获取Rose对象
/// </summary>
/// <param name="id">id</param>
/// <returns>tbRose</returns>
public tbRose getRoseById(string id)
{
tbRose r = new tbRose();
SqlDataReader reader = SqlComm.GetDataReaderByCondition("tbRose", "*", " RoseID=" + id);
if (reader != null)
{
while (reader.Read())
{
r.RoseID = int.Parse(reader["RoseID"].ToString());
r.RoseName = reader["RoseName"].ToString();
}
reader.Close();
}
return r;
}
}
页面:
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="RoseManager.aspx.cs" Inherits="BioErpWeb.HRSystem.RoseManager" %>
<%@ Register Assembly="AspNetPager" Namespace="Wuqi.Webdiyer" TagPrefix="webdiyer" %>
<%@ Register Assembly="AjaxControlToolkit" Namespace="AjaxControlToolkit" TagPrefix="cc1" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title></title>
<link href="../Styles/ERPBaseStyle.css" rel="stylesheet" type="text/css" />
<link href="../Styles/AspNetPagerStyle.css" rel="stylesheet" type="text/css" />
</head>
<body>
<form id="form1" runat="server">
<asp:ScriptManager ID="ScriptManager1" runat="server">
</asp:ScriptManager>
<div>
<asp:UpdatePanel id="up_all" runat="server">
<contenttemplate>
<asp:ImageButton ID="imgEditBtn" Width="1" Height="1" runat="server" />
<cc1:ModalPopupExtender ID="Modal_Add" TargetControlID="btnNew" PopupControlID="Panel_Add" runat="server">
</cc1:ModalPopupExtender>
<cc1:ModalPopupExtender ID="Modal_Update" TargetControlID="imgEditBtn" PopupControlID="Panel_Update" runat="server">
</cc1:ModalPopupExtender>
<div>
<asp:Panel ID="Panel_Add" runat="server" CssClass="pLogo">
<table class="tb_mess">
<thead class="name"><caption>角色添加</caption></thead>
<tr>
<td>角色名</td><td>
<asp:TextBox ID="txtRose0" runat="server"></asp:TextBox>
</td>
</tr>
<tr>
<td colspan="2" class="bottomtd">
<asp:Button ID="btnAdd" runat="server" Text="提交" onclick="btnAdd_Click"/>
<asp:Button ID="Button1" runat="server" Text="关闭" />
</td>
</tr>
</table>
</asp:Panel>
</div>
<div>
<asp:Panel ID="Panel_Update" runat="server" CssClass="pLogo">
<table class="tb_mess">
<thead class="name"><caption>角色编辑</caption></thead>
<tr>
<td>角色名</td><td>
<asp:TextBox ID="txtRose1" runat="server"></asp:TextBox>
</td>
</tr>
</tr>
<td colspan="2" class="bottomtd">
<asp:Button ID="btnUpdate" runat="server" Text="提交" onclick="btnUpdate_Click" />
<asp:Button ID="btnClose1" CausesValidation="false" runat="server" Text="关闭"
onclick="btnClose1_Click" /></td>
</table>
</asp:Panel>
</div>
<table class="maintable">
<tr>
<td class="titlebar">
企业角色管理系统
</td>
</tr>
<tr>
<td style=" text-align:right; padding-right:10px; ">
<asp:Button ID="btnNew" runat="server" Text="添加" BackColor="#CDEAFB" Width="80px" Height="30px" />
</td>
</tr>
<tr>
<td>
<asp:GridView ID="GridView1" Width="100%" AutoGenerateColumns="False"
runat="server" onrowcommand="GridView1_RowCommand" DataKeyNames="RoseID">
<Columns>
<asp:TemplateField HeaderText="编号">
<ItemTemplate>
<asp:Label ID="Label1" runat="server" Text='<%# Eval("RoseID") %>'></asp:Label>
</ItemTemplate>
<ItemStyle HorizontalAlign="Center" />
</asp:TemplateField>
<asp:TemplateField HeaderText="角色名称">
<ItemTemplate>
<asp:Label ID="Label2" runat="server" Text='<%# Eval("RoseName") %>'></asp:Label>
</ItemTemplate>
<ItemStyle HorizontalAlign="Center" />
</asp:TemplateField>
<asp:TemplateField HeaderText="操作">
<ItemTemplate>
<asp:ImageButton ID="imgEditBtn" Width="50" Height="20" CommandName="imgEdit" CommandArgument='<%#Eval("RoseID") %>' ImageUrl="~/Web/images/Edit.gif" runat="server" />
</ItemTemplate>
<ItemStyle HorizontalAlign="Center" />
</asp:TemplateField>
</Columns>
</asp:GridView>
</td>
</tr>
<tr>
<td>
<webdiyer:AspNetPager ID="AspNetPager1" CssClass="paginator"
CurrentPageButtonClass="cpb" runat="server"
onpagechanged="AspNetPager1_PageChanged">
</webdiyer:AspNetPager>
</td>
</tr>
</table>
</contenttemplate>
</asp:UpdatePanel>
</div>
</form>
</body>
</html>
后端:
public partial class RoseManager : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
pagebind();
}
}
public static int pageindex = 0;
public static int pagesize = 10;
public static string condition = "";
protected void pagebind()
{
this.AspNetPager1.RecordCount = SqlComm.getDataCountByCondition("tbRose", condition);
this.AspNetPager1.PageSize = pagesize;
this.GridView1.DataSource = SqlComm.getDataByPageIndex("tbRose", "RoseID,RoseName", "RoseID", condition, pageindex, pagesize);
this.GridView1.DataBind();
}
static tbRose r=new tbRose();
RoseBLL rosebll = new RoseBLL();
protected void btnAdd_Click(object sender, EventArgs e)
{
if (this.txtRose0.Text == "" || this.txtRose0.Text.Trim().Length == 0)
{
ScriptManager.RegisterStartupScript(this, this.GetType(), "test", "alert('请填写角色名称');", true);
return;
}
r.RoseName = this.txtRose0.Text;
if (rosebll.Rose_Add(r) != 0)
{
pagebind();
}
else
{
ScriptManager.RegisterStartupScript(this, this.GetType(), "test", "alert('提交失败');", true);
}
this.Modal_Add.Hide();
}
protected void AspNetPager1_PageChanged(object sender, EventArgs e)
{
pageindex = this.AspNetPager1.CurrentPageIndex - 1;
pagebind();
}
protected void btnUpdate_Click(object sender, EventArgs e)
{
if (this.txtRose1.Text == "" || this.txtRose1.Text.Trim().Length == 0)
{
ScriptManager.RegisterStartupScript(this, this.GetType(), "test", "alert('请填写角色名称');", true);
return;
}
r.RoseName = this.txtRose1.Text;
if (rosebll.Rose_Update(r) != 0)
{
pagebind();
}
else
{
ScriptManager.RegisterStartupScript(this, this.GetType(), "test", "alert('编辑失败');", true);
}
this.Modal_Update.Hide();
}
protected void GridView1_RowCommand(object sender, GridViewCommandEventArgs e)
{
if (e.CommandName == "imgEdit")
{
string roseid = e.CommandArgument.ToString();
r = rosebll.getRoseById(roseid);
this.txtRose1.Text = r.RoseName;
this.Modal_Update.Show();
}
}
protected void btnClose1_Click(object sender, EventArgs e)
{
this.Modal_Update.Hide();
}
}