ERP员工入职登记(五)

在数据库中添加链接的地址:

通过iframe中的name属性指定打开页面:

 cn.Target = "MainFrame";

 页面的布局:

<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="WorkerAdd.aspx.cs" Inherits="BioErpWeb.HRSystem.WorkerAdd" %>

<%@ 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/CalenderStyle.css" rel="stylesheet" type="text/css" />
</head>
<body>
    <form id="form1" runat="server">
    <asp:ScriptManager ID="ScriptManager1" runat="server">
    </asp:ScriptManager>
    <div>
     <table class="maintable">
      <tr>
       <td colspan="4" class="titlebar"><span>员工入职登记</span></td>
      </tr>
       <tr>
           <td>登录名</td><td><asp:TextBox ID="txtLoginName" runat="server"></asp:TextBox></td>
           <td>真实姓名</td><td><asp:TextBox ID="txtUserName" runat="server"></asp:TextBox></td>
       </tr>
       <tr>
           <td>所属部门</td><td>
               <asp:DropDownList ID="ddlDepartMent" runat="server">
               </asp:DropDownList>
           </td>
           <td>角色</td>
           <td><asp:DropDownList ID="ddlRose" runat="server">
               </asp:DropDownList></td>
       </tr>
         <tr>
             <td>
                 生日
             </td>
             <td>
                 <asp:TextBox ID="txtBirthday" runat="server"></asp:TextBox>
                 <cc1:CalendarExtender runat="server" TargetControlID="txtBirthday" Format="yyyy-MM-dd">
                 </cc1:CalendarExtender>
             </td>
             <td>
                 手机号码
                         </td>
                         <td>
                           <asp:TextBox ID="txtMobile" runat="server"></asp:TextBox>
                         </td>
         </tr>
         <tr>
             <td>
             Email地址
             </td>
             <td>
                <asp:TextBox ID="txtEmail" runat="server"></asp:TextBox>
             </td>
             <td>
             照片
             </td>
             <td>
                 <asp:FileUpload ID="fp_photo" runat="server" />

                 <asp:Button ID="btnPhoto" Width="50" runat="server" Text="上传" 
                     onclick="btnPhoto_Click" />
                 <asp:Image ID="Userimg" runat="server" Width="100" Height="110" />
             </td>
         </tr>
         <tr>
             <td>
             住址
             </td>
             <td>
                <asp:TextBox ID="txtAddress" runat="server"></asp:TextBox>
             </td>
             <td>
             性别
             </td>
           
             <td>  
                 <asp:DropDownList ID="ddlSex" runat="server">
                     <asp:ListItem Value="0">男</asp:ListItem>
                     <asp:ListItem Value="1">女</asp:ListItem>
                 </asp:DropDownList>
             </td>
         </tr>
         <tr>
             <td>
              显示的顺序
             </td>
             <td>
                 <asp:TextBox ID="txtDisplayOrder" runat="server"></asp:TextBox>
             </td>
             <td>
             员工状态
             </td>
             <td>
                 <asp:DropDownList ID="ddlState" runat="server">
                     <asp:ListItem Value="1">在职</asp:ListItem>
                     <asp:ListItem Value="0">离职</asp:ListItem>
                 </asp:DropDownList>
             </td>
         </tr>

         <tr>
             <td colspan="4" class="bottomtd">
             
                 <asp:Button ID="btnSubmit" runat="server" Text="员工信息登记"  
                     CssClass="submitbutton" onclick="btnSubmit_Click"/>
             </td>
         </tr>

     </table>
        <br />
    </div>
    </form>
</body>
</html>

 

 在NuGet中执行:

Install-Package AjaxControlToolkit

 CSS样式表代码:

body {
        PADDING-RIGHT: 0px; PADDING-LEFT: 0px; BACKGROUND: #dde4ea; PADDING-BOTTOM: 0px; MARGIN: 0px; PADDING-TOP: 0px; FONT-FAMILY: Tahoma,Arial,Helvetica,Sans-Serif;
        font-size:12px;       
        }
        .maintable{ width:800px; border:solid 1px #8fabc1; border-collapse:collapse; margin:0px auto;}
        .maintable td{ border:solid 1px #8fabc1;}
        .titlebar{ font-size:14px; font-weight:bold; line-height:30px; background-color:#8fabc1; text-align:center;}
        
        input{ width:150px; border:solid 1px #ccc;}
        input:hover{ border:solid 1px red;}     
        .submitbutton{ width:100px;}
        .bottomtd{ text-align:right; padding-right:20px;}

 日历控件的CSS:

       .MyCalendar .ajax__calendar_container
      {
          border:1px solid #646464;
          background-color:#faac38;
          
      }
      .MyCalendar .ajax__calendar_other .ajax__calendar_day,
      .MyCalendar .ajax__calendar_other .ajax__calendar_year
      {
          color:#ffffff;
      }
      .MyCalendar .ajax__calendar_hover .ajax__calendar_day
      {
          color:red;
          background-color:#e8e8e8;
      }
      .MyCalendar .ajax__calendar_active .ajax__calendar_day
      {
          color:blue;
          font-weight:bolder;
          background-color:#e8e8e8;
      }

 样式:

绑定部门的存储过程:

-- =============================================
-- Author:		孙丽媛
-- Create date: 2016/10/07
-- Description:	查询部门信息
-- =============================================
ALTER PROCEDURE [dbo].[getDepartMent] 
AS
BEGIN
 SELECT * FROM Department ORDER BY Displayorder asc
END

 绑定角色存储过程:

-- =============================================
-- Author:		孙丽媛
-- Create date: 2016年10月07日
-- Description:	获取员工所有角色信息
-- =============================================
ALTER PROCEDURE [dbo].[getUserRoseList]
AS
BEGIN
  SELECT
  	RoseID,
  	RoseName
  FROM
  	tbRose
END

 公用层的封装:

 /// <summary>
        /// 查询部门信息
        /// </summary>
        /// <returns></returns>
        public static DataTable getDepartMent()
        {
            return DataBaseHelper.SelectSQLReturnTable("getDepartMent", CommandType.StoredProcedure);

        }

     
        /// <summary>
        /// 获取员工角色列表
        /// </summary>
        /// <returns>DataTable</returns>
        public static DataTable getUserRoseList()
        {
            return DataBaseHelper.SelectSQLReturnTable("getUserRoseList", CommandType.StoredProcedure);
        }

 后台代码:

 protected void Page_Load(object sender, EventArgs e)
        {
            if (!IsPostBack)
            {
                DepartMentBand();
                UserRoseList();
            }
        }

        /// <summary>
        /// 绑定部门信息
        /// </summary>
        private void DepartMentBand()
        {
         ddlDepartMent.DataSource= SqlComm.getDepartMent();
            //显示的列
         ddlDepartMent.DataTextField = "DepartmentName";
            //隐藏的列
         ddlDepartMent.DataValueField = "DepartmentId";
         ddlDepartMent.DataBind();
         ddlDepartMent.Items.Add(new ListItem("--请选择部门--", "0"));
         ddlDepartMent.SelectedValue = "0";
        }

        /// <summary>
        /// 员工角色列表
        /// </summary>
        private void UserRoseList()
        {
          ddlRose.DataSource=  SqlComm.getUserRoseList();
          ddlRose.DataTextField = "RoseName";
          ddlRose.DataValueField = "RoseID";
          ddlRose.DataBind();
          ddlRose.Items.Add(new ListItem("--请选择角色--", "0"));
          ddlRose.SelectedValue = "0";
        }

 员工添加的存储过程:

ALTER PROCEDURE [dbo].[UserManager_ADD]
@LoginName nvarchar(50),
@UserName nvarchar(50),
@Password nvarchar(50),
@DepartmentId int,
@RoleId int,
@Birthday datetime,
@Mobile nvarchar(50),
@Email nvarchar(50),
@Photo nvarchar(20),
@Address nvarchar(50),
@LastLoginDate datetime,
@Sex bit,
@DisplayOrder int,
@Sate bit

 AS 
	INSERT INTO [UserManager](
	[LoginName],[UserName],[Password],[DepartmentId],[RoleId],[Birthday],[Mobile],[Email],[Photo],[Address],[LastLoginDate],[Sex],[DisplayOrder],[Sate]
	)VALUES(
	@LoginName,@UserName,@Password,@DepartmentId,@RoleId,@Birthday,@Mobile,@Email,@Photo,@Address,@LastLoginDate,@Sex,@DisplayOrder,@Sate
	)

 修改的存储过程:

ALTER PROCEDURE [dbo].[UserManager_Update]
@UserId int,
@LoginName nvarchar(50),
@UserName nvarchar(50),
@Password nvarchar(50),
@DepartmentId int,
@RoleId int,
@Birthday datetime,
@Mobile nvarchar(50),
@Email nvarchar(50),
@Photo nvarchar(20),
@Address nvarchar(50),
@LastLoginDate datetime,
@Sex bit,
@DisplayOrder int,
@Sate bit
 AS 
	UPDATE [UserManager] SET 
	[LoginName] = @LoginName,[UserName] = @UserName,[Password] = @Password,[DepartmentId] = @DepartmentId,[RoleId] = @RoleId,[Birthday] = @Birthday,[Mobile] = @Mobile,[Email] = @Email,[Photo] = @Photo,[Address] = @Address,[LastLoginDate] = @LastLoginDate,[Sex] = @Sex,[DisplayOrder] = @DisplayOrder,[Sate] = @Sate
	WHERE UserId=@UserId 

 业务逻辑层:

public class UserManagerBLL
    {
        /// <summary>
        /// 添加员工信息
        /// </summary>
        /// <param name="user">user</param>
        public int UserMangerAdd(UserManager user)
        {
            SqlParameter[] pars = new SqlParameter[]{
            new SqlParameter("@LoginName",user.LoginName),
            new SqlParameter("@UserName",user.UserName),
            new SqlParameter("@Password",user.Password),
            new SqlParameter("@DepartmentId",user.DepartmentId),
            new SqlParameter("@RoleId",user.RoleId),
            new SqlParameter("@Birthday",user.Birthday),
            new SqlParameter("@Mobile",user.Mobile),
            new SqlParameter("@Email",user.Email),
            new SqlParameter("@Photo",user.Photo),
            new SqlParameter("@Address",user.Address),
            new SqlParameter("@LastLoginDate",user.LastLoginDate),
            new SqlParameter("@Sex",user.Sex),
            new SqlParameter("@DisplayOrder",user.DisplayOrder),
            new SqlParameter("@Sate",user.Sate)
           };

            return DataBaseHelper.ExcuteSqlReturnInt("UserManager_ADD", CommandType.StoredProcedure, pars);
        }


        /// <summary>
        /// 员工修改
        /// </summary>
        /// <param name="user">员工对象</param>
        /// <returns>int</returns>
        public int UserManagerUpdate(UserManager user)
        {
            SqlParameter[] pars = new SqlParameter[]{
            new SqlParameter("@UserId",user.UserId),
            new SqlParameter("@LoginName",user.LoginName),
            new SqlParameter("@UserName",user.UserName),
            new SqlParameter("@Password",user.Password),
            new SqlParameter("@DepartmentId",user.DepartmentId),
            new SqlParameter("@RoleId",user.RoleId),
            new SqlParameter("@Birthday",user.Birthday),
            new SqlParameter("@Mobile",user.Mobile),
            new SqlParameter("@Email",user.Email),
            new SqlParameter("@Photo",user.Photo),
            new SqlParameter("@Address",user.Address),
            new SqlParameter("@LastLoginDate",user.LastLoginDate),
            new SqlParameter("@Sex",user.Sex),
            new SqlParameter("@DisplayOrder",user.DisplayOrder),
            new SqlParameter("@Sate",user.Sate)
           };

            return DataBaseHelper.ExcuteSqlReturnInt("UserManager_Update", CommandType.StoredProcedure, pars);


        }

 后台代码:

 protected void btnSubmit_Click(object sender, EventArgs e)
        {
            UserManager user = new UserManager();
            user.LoginName = this.txtLoginName.Text;
            user.UserName = this.txtUserName.Text;
           if (ddlDepartMent.SelectedValue == "0")
            {
                //Response.Write("<script>alert('请选择部门')</script>");
                ScriptManager.RegisterStartupScript(this, this.GetType(), "test", "alert('请选择部门');", true);
                return;
            }
            else
            {
                user.DepartmentId = int.Parse(ddlDepartMent.SelectedValue.ToString());
            }

            if (ddlRose.SelectedValue == "0")
            {
                ScriptManager.RegisterStartupScript(this, this.GetType(), "test", "alert('请选择角色');", true);
                return;
            }
            else
            {
                user.RoleId =int.Parse(ddlRose.SelectedValue.ToString());
                 
            }
            user.Mobile = this.txtMobile.Text;
            user.Birthday = Convert.ToDateTime(this.txtBirthday.Text);
            user.Email = this.txtEmail.Text;
            user.Address = this.txtAddress.Text;
            //0:男,1,女
            user.Sex = this.ddlSex.SelectedValue == "0" ? true : false;
            user.DisplayOrder = Convert.ToInt32(this.txtDisplayOrder.Text);
            //0:离职,1:在职
            user.Sate = this.ddlState.SelectedValue == "0" ? false : true;
            user.Password =Comm.MD5("123456");
            user.Photo = ImgName;
            user.LastLoginDate =Convert.ToDateTime(DateTime.Now.ToString("yyyy-MM-dd"));

            UserManagerBLL userbll = new UserManagerBLL();
            int count=userbll.UserMangerAdd(user);
            if (count ==0)
            {
                ScriptManager.RegisterStartupScript(this, this.GetType(), "test", "alert('数据提交失败');", true);
                return;
            
            }

        }

 

 图像上传:(先新建一个文件夹)

思路:

     //图片上传(第一种方法)
        protected void btnPhoto_Click(object sender, EventArgs e)
        {
            //获取名字
          string filename=  this.fp_photo.FileName;
            //取出文件得后缀名
          string filetype = filename.Substring(filename.LastIndexOf(".")+1);
            //给出提示
          if (filetype.ToLower() != "jpg" && filetype.ToLower() != "bmp" && filetype.ToLower() != "gif" && filetype.ToLower() != "png")
          {
           ScriptManager.RegisterStartupScript(this, this.GetType(), "test", "alert('请选择有效的图片格式(*.jpg/*.bmp/*.gif/*.png)');", true);
           return;
          }
            //找到保存图片的物理路径
          string filepath=  Server.MapPath(@"\Files\Usersphoto\") + filename;
            //另存为上述的路径
          this.fp_photo.SaveAs(filepath);
            //从文件夹中取出图片进行显示
          this.Userimg.ImageUrl = @"\Files\Usersphoto\" + filename;

        }

 效果:

上传文件调用公用的方法:

  static string ImgName = "";
        //图片上传
        protected void btnPhoto_Click(object sender, EventArgs e)
        {
          string filename=  this.fp_photo.FileName;
          if (!Comm.isImg(filename))
          {
              ScriptManager.RegisterStartupScript(this, this.GetType(), "test", "alert('请选择有效的图片格式(*.jpg/*.bmp/*.gif/*.png)');", true);
              return;
          }
          string filepath = Server.MapPath(@"\Files\Usersphoto\");
          //上传指定路径的文件
          ImgName=  Comm.FileUpLoad(this.fp_photo, filepath);
          if (ImgName == "false")
          {
              ScriptManager.RegisterStartupScript(this, this.GetType(), "test", "alert('上传失败')", true);
              return;
          }

          this.Userimg.ImageUrl = @"\Files\Usersphoto\" + ImgName;
        }

封装成通用得方法:

引用命名空间:using System.Web.UI.WebControls;

 

 public  class Comm
    {

       /// <summary>
       ///  上传文件,文件名要求唯一,上传成功显示文件名,如123.jpg,否则返回 false;
       /// </summary>
       /// <param name="fload">上传组件</param>
       /// <param name="path">指定的路径 ,总是以“/”结尾</param>
        /// <returns>string</returns>
       public static string FileUpLoad(FileUpload fload, string path)
       {
           //判断指定路径是否存在此目录,如果没有则创建
           if (!System.IO.Directory.Exists(path))
           {
               System.IO.Directory.CreateDirectory(path);
           }

           int count=0;
           //获取文件名称
           string fileName = fload.FileName;
           //获取新的文件名称
           string NewFileName = DateTime.Now.ToString("yyyyMMddHHmmss") + fileName;
           //上传文件之前判断指定路径是否已经存在此文件,如果存在,则删除
           if (System.IO.File.Exists(path + NewFileName))
           {
               System.IO.File.Delete(path + NewFileName);
           }

           try
           {

               fload.SaveAs(path + NewFileName);
           }
           catch (Exception ex)
           {
               count++;
           }

           if (count > 0)
           {
               return "false";
           }
           else
           {
               return NewFileName;
           }  
       }


       /// <summary>
       /// 通用的删除文件功能
       /// </summary>
       /// <param name="path"></param>
       public static bool FileDelete(string path)
       {
           if (System.IO.File.Exists(path))
           {
               System.IO.File.Delete(path);
               return true;
           }
           return false;
       
       }


     
       /// <summary>
       /// 判断指定路径是否存在文件
       /// </summary>
       /// <param name="path">路径</param>
       /// <returns>bool</returns>
       public static bool FileExists(string path)
       {
           if (System.IO.File.Exists(path))
           {
               return true;
           }
           return false;
       
       }

      

       /// <summary>
       /// 对指定字符串加密
       /// </summary>
       /// <param name="pwd">字符串</param>
       /// <returns>string</returns>
       public static string MD5(string pwd)
       {
           return System.Web.Security.FormsAuthentication.HashPasswordForStoringInConfigFile(pwd, "md5");
       }

       
       /// <summary>
       /// 是否是有效的图片格式 ,如jpg,bmp,gif,png
       /// </summary>
       /// <param name="FileName">文件名带后缀名</param>
       /// <returns>string</returns>
       public static bool isImg(string FileName)
       {
           string filetype = FileName.Substring(FileName.LastIndexOf(".") + 1);
           if (filetype.ToLower() != "jpg" && filetype.ToLower() != "bmp" && filetype.ToLower() != "gif" && filetype.ToLower() != "png")
           {
               return false;
           }
           return true;

       }


       public static bool isIge(string FileName)
       {
           string filetype = FileName.Substring(FileName.LastIndexOf(".") + 1);
           if (filetype.ToLower() != "jpg" && filetype.ToLower() != "bmp" && filetype.ToLower() != "gif" && filetype.ToLower() != "png")
           {
               return false;
           }
           return true;
       }
    }

 

posted @ 2016-10-07 21:14  石shi  阅读(473)  评论(0编辑  收藏  举报