标签:
在数据库中添加链接的地址:
通过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;
       }
    }
标签:
原文地址:http://www.cnblogs.com/sunliyuan/p/5936737.html