第16章就业中心人才管理系统(Web)•在第14章中,搭建了就业中心人才管理系统三层框架中的数据访问层和业务逻辑层,通过15章的编程,将就业中心人才管理系统的后台程序编写完成了。在本章中,将提供一个Internet访问的访问接口,开发一个用于供企业和学员访问的ASP.NET站点。本章的学习目标是:•编写ASP.NET应用程序。•实现三层架构中界面层跟其他层的交互。•熟练使用WebForms控件。16.1实现学员登录功能•16.1.1功能回顾•16.1.2界面设计•16.1.3程序编码16.1.1功能回顾•开发的ASP.NET站点,主要包含企业用户注册和发布信息的功能,和学员信息管理功能,两个功能的实现方式大致相同。限于篇幅,本章将重点讲解学员信息管理功能。功能系统流程图如图16.1所示。16.1.2界面设计•下面通过表格布局设计一个简单的登录界面,如图16.2所示。设计界面的HTML代码如下所示:16.1.3程序编码•在登录按钮提交以后,系统应该完成最基本的输入有效性验证,即用户是否输入了用户名及密码。这个验证应该是在客户端的验证。可以编写验证代码:16.2浏览招聘信息•用户浏览招聘信息部分,主要是用于展示数据,所以可以选择GridView控件、Repeater控件、DataList控件等。由于Repeater提供更自由的定制模板、布局的方式,所以本节采用Repeater控件展示招聘信息。16.2.1界面设计StuLogin.aspx•用户登录成功以后,系统将自动跳转到StuLogin.aspx页面。该页面如图16.3所示,提供了提交简历的超链接,列出了所有招聘信息列表。学员可以单击“查看详情”列的图标,查看职位的详细信息。16.2.2代码文件StuLogin.aspx.cs•此页面上展示所有的招聘信息,供学员查看。在页面的Load事件中,应该有初始化数据的操作。如下面代码所示:•//实例化业务逻辑类和实体类•Rc.BLL.PositionManagerpositionManager=newRc.BLL.PositionManager();•Rc.Model.Sys.Positionposition=newPosition();•protectedvoidPage_Load(objectsender,EventArgse)•{//列出所有职位信息•//调用positionManager的GetPositions()方法,返回所的记录•IListpositions=positionManager.GetPositions(null);•this.rpt.DataSource=positions;//指定Repeater控件的数据源•this.rpt.DataBind();//绑定数据•}16.3查看详细招聘信息•详细信息页面主要是用于展示一条记录。详细页面往往需要获得一个标示该条记录的参数。可以通过Request对象获得请求页面的参数。记录的显示方式可以采用DetailsView控件、FormView控件或者直接手动编写。16.3.1界面设计PositionDetail.aspx•在上一节的界面中,用户如果单击“查看详情”图标,系统会显示用户选定的职位的详情,这个显示界面如图16.4所示。在该页面里,显示了职位的具体信息,包括发布单位,职位名等。这些信息均是动态绑定的。16.3.2代码文件PositionDetail.aspx.cs•要选择出一条职位的具体信息很简单,按照惯例,只需要调用职位的业务逻辑类(PositionManager)中的相应方法,从数据库中取出具体一条记录即可。但是问题来了,到底要读哪一条记录呢?职位详情页面要怎么才能知道用户在上一个浏览招聘信息的页面里选择要查看哪一条信息的详情?解决方案是这样的,读者会发现StuLogin.aspx文件源代码中,有这样一条代码:•ahref='%#PositionDetail.aspx?PID=+DataBinder.Eval(Container.DataItem,PID)%'/a•这条代码包含一个超级链接,并通过QueryString来传值。传递过来的值,在PositionDetail.aspx.cs文件中,只需要用这样一句便能取得:•Request.QueryString[PID];16.4提交简历•提交简历页面主要是提供一个表单,通过表单收集信息,然后构造实体类,将数据插入到数据库。本节对数据的收集采用的是通过构造一个HashTable对象,HashTable对象保存了表单的键值对。16.4.1界面设计SubmitResume.aspx•当单击“查看职位详情”页面中的申请职位图标,如果学员没有提交简历,则会跳转到简历提交页面,如图16.5所示。学员填写好简历以后,单击“提交”按钮,则会将信息保存到Resume表中。16.4.2代码文件SubmitResume.aspx.cs•提交简历功能的实现代码如下所示:16.5小结•通过本章的学习,读者应该了解以下内容。•创建ASP.NET站点。•通过WebForms控件快速实现学员登录、查看招聘信息和提交简历等功能。•综合运用HTML标签、JavaScript脚本和C#语言实现动态ASP.NET程序。