📄 showempinfo.aspx.cs
字号:
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 DBUtils;
namespace BlueHill.EmployeeInfo
{
/// <summary>
/// ShowEmpInfo 的摘要说明。
/// </summary>
public class ShowEmpInfo : System.Web.UI.Page
{
protected System.Web.UI.WebControls.Image image;
protected System.Web.UI.WebControls.Label lblEdit;
protected System.Web.UI.WebControls.TextBox tbSelfintro;
protected System.Web.UI.WebControls.Button btnSubmit;
protected System.Web.UI.HtmlControls.HtmlGenericControl lblName;
protected System.Web.UI.HtmlControls.HtmlGenericControl lblEmpID;
protected System.Web.UI.HtmlControls.HtmlGenericControl lblEmail;
protected System.Web.UI.HtmlControls.HtmlGenericControl lblManager;
protected System.Web.UI.HtmlControls.HtmlGenericControl lblDept;
protected System.Web.UI.HtmlControls.HtmlGenericControl lblExt;
/// <summary>
/// 网页初始化时执行该方法。
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void Page_Load(object sender, System.EventArgs e)
{
// 在此处放置用户代码以初始化页面
int iEmpID;
//设置控件的默认显示方式。
lblEdit.Visible = false;
tbSelfintro.ReadOnly = true;
tbSelfintro.BorderWidth = Unit.Parse("0px");
btnSubmit.Visible = false;
if ( !IsPostBack )
{
//如果网页是第一次生成时,执行如下操作:
if ( Request.QueryString["EmpID"] == null )
{
//该网页 URL 中不含有 EmpID 项,则为显示登录员工本人的信息。
//Session 变量提供有关当前请求的会话的信息。ASP.NET 应用程序为每个用户维护一个 Session 对象。
//当用户在应用程序中从一页移动到另一页时,存储在 Session 对象中的变量不会被放弃;
//相反,只要用户在应用程序中访问页,这些变量就将保持。与 Session 对象对应的还有 Application对象。
//有关会话状态的更多信息,请参见联机帮助或教材《面向.Net的Web应用程序设计》的第十四章。
iEmpID = int.Parse((string)Session["EmployeeID"]);
}
else
{
//该网页 URL 中含有 EmpID 项,则显示对应的员工信息。
iEmpID = int.Parse(Request.QueryString["EmpID"]);
}
//调用自定义的 Search 方法,显示员工的具体信息。
Search(iEmpID);
}
}
/// <summary>
///
/// </summary>
protected void Search(int iEmpID)
{
DBUtils.Employee emp = new DBUtils.Employee();
int iRetValue;
//根据员工编号,在数据库中获取员工的详细信息。
iRetValue = Employee.GetEmployeeInfo(iEmpID, emp);
if ( iRetValue == (int)DBResult.Success )
{
//如果数据库操作成功,则执行以下操作:
//显示编号:
lblEmpID.InnerHtml = iEmpID.ToString();
//显示姓名:
lblName.InnerText = emp.Name;
//显示员工的电子邮件:
string strEmail = "<A href=\"mailto:" + emp.Email + "\"><IMG src = \"../Common/mail.gif\" border=0 width=16 height=13></A> " + emp.Email;
lblEmail.InnerHtml = strEmail;
//显示经理姓名,且单击经理姓名,可显示经理的详细信息。
//ShowEmpInfo.aspx?EmpID=1 实现的功能是在网页之间传递员工编号,
//有关该方面的更多信息,可以参见联机帮助 MSDN 中的“在 Web 窗体页之间传递值”。
if ( emp.ManagerName != "" )
{
string strManager = "<A href=\"mailto:" + emp.ManagerEmail + "\"><IMG src=\"../Common/mail.gif\" border=0 width=16 height=13></A> " + "<A href=\"ShowEmpInfo.aspx?EmpID=" + emp.ManagerID.ToString() + "\"" + ">" + emp.ManagerName + "</A>";
lblManager.InnerHtml = strManager;
}
//员工的部门:
if ( emp.DeptName != "" )
{
lblDept.InnerText = emp.DeptName;
}
//员工的分机号:
lblExt.InnerHtml = emp.Telephone;
//自我介绍:
tbSelfintro.Text = emp.SelfIntro.Trim();
//显示照片:
string strFilePath;
//设置图片的本地文件名。把图片都放在 photo 文件夹下面,然后以员工编号作为文件名。
//Server.MapPath 方法的具体用法在《教师参考手册》和《学生参考手册》中有详细介绍。
strFilePath = Server.MapPath("photo/" + iEmpID + ".jpg");
//将存放在数据库中的图象获取到本地。
iRetValue = DBUtils.EmployeeInfo.CreatePhotoFile(iEmpID, strFilePath);
if ( iRetValue == (int)DBResult.Success )
{
//数据库操作成功,则显示本地图象文件。
image.ImageUrl = "photo/" + iEmpID + ".jpg";
}
else
{
//数据库操作不成功,则显示默认图片。
image.ImageUrl = "photo/nophoto.jpg";
}
//如果员工查看自己的资料,则允许修改自我介绍。
if ( (string)Session["EmployeeID"] == iEmpID.ToString() )
{
lblEdit.Visible = true;
tbSelfintro.ReadOnly = false;
tbSelfintro.BorderWidth = Unit.Parse("1px");
btnSubmit.Visible = true;
}
}
}
#region Web 窗体设计器生成的代码
override protected void OnInit(EventArgs e)
{
//
// CODEGEN: 该调用是 ASP.NET Web 窗体设计器所必需的。
//
InitializeComponent();
base.OnInit(e);
}
/// <summary>
/// 设计器支持所需的方法 - 不要使用代码编辑器修改
/// 此方法的内容。
/// </summary>
private void InitializeComponent()
{
this.btnSubmit.Click += new System.EventHandler(this.btnSubmit_Click);
this.Load += new System.EventHandler(this.Page_Load);
}
#endregion
/// <summary>
/// 如果用户单击“修改”按钮,该方法保存用户所作的修改。
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void btnSubmit_Click(object sender, System.EventArgs e)
{
int iRetValue;
//将用户修改保存到数据库。
iRetValue = DBUtils.EmployeeInfo.ChangeSelfIntro(int.Parse((string)Session["EmployeeID"]), tbSelfintro.Text);
//如果修改成功,显示提示消息
if ( iRetValue == (int)DBResult.Success )
{
Response.Write("<script>alert('已成功修改个人介绍!')</script>");
}
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -