
案例3:用户信息管理模块设计 一,任务场景: 某信息发布网站的后台管理需设计一横块用于用户信息管理,该模块包括用户信息查看、信 息修政、用户刚除及用户新建等功能。 二、任务分析及实现: 该后台管理模块需要实现的功能比较多,不仅要展示用户列表,更可以进行用户信息管理, 在设计的时候可以考虑用G1W1?控件来最示用户列表,用户的副除功能也可以结合在用 户列表页实现:etai1Viw控件不仅能用户展示单条信息,还可以选行单条信息修改及新 建的功能,所以可以选择该控件用户实现用户信息查看、信息修政及用户新建等功能。 在实现用户副除功修时,考虑到用户的易操作性,该核块为用户列表漆加了一个“复选框” 的模板列,用户可以通过该复选框选择刚除一个或多个用户,该功能模块实残的难点在干点 击标题“全选”的复选框可以透中列表中所有的复选框,实现该功能的方法有两种:(1) 客户端脚本(2)找到列表中的所有复选框。并设置其Cck属性, 方法一:设置“全选”的复选框的on心lck事件的调用函数为脚本所定义的函数名称 GetCheckBox(this),参数值"this”代表将本控件作为参数传递给GetCheckBox(checkall), funet ionGetCheckBox (checkall) variteas=document.documentElenent.getElementsByTagName ("input"): for(i-0;iitems.lemgth;i++) items[i],checked=checkall.checked: /seript> 方法二:设置“全透”的复选框的AutoPostBack属性为“Te”并编辑CheckChange事件, 相关代码如下: protectedvoidCheckBoxAll_CheckedChanged (objectsender,EventArgse)
案例 3:用户信息管理模块设计 一、任务场景: 某信息发布网站的后台管理需设计一模块用于用户信息管理,该模块包括用户信息查看、信 息修改、用户删除及用户新建等功能。 二、任务分析及实现: 该后台管理模块需要实现的功能比较多,不仅要展示用户列表,更可以进行用户信息管理。 在设计的时候可以考虑用 GridView 控件来显示用户列表,用户的删除功能也可以结合在用 户列表页实现;DetailView 控件不仅能用户展示单条信息,还可以进行单条信息修改及新 建的功能,所以可以选择该控件用户实现用户信息查看、信息修改及用户新建等功能。 在实现用户删除功能时,考虑到用户的易操作性,该模块为用户列表添加了一个“复选框” 的模板列,用户可以通过该复选框选择删除一个或多个用户,该功能模块实现的难点在于点 击标题“全选”的复选框可以选中列表中所有的复选框,实现该功能的方法有两种:(1) 客户端脚本(2)找到列表中的所有复选框,并设置其 Check 属性。 方法一:设置“全选”的复选框的 onclick 事件的调用函数为脚本所定义的函数名称 GetCheckBox(this),参数值“this”代表将本控件作为参数传递给 GetCheckBox(checkall)。 functionGetCheckBox(checkall) { varitems=document.documentElement.getElementsByTagName("input"); for(i=0;i 方法二:设置“全选”的复选框的 AutoPostBack 属性为“True”并编辑 CheckChange 事件, 相关代码如下: protectedvoidCheckBoxAll_CheckedChanged(objectsender,EventArgse)

CheckBoxcheckall=this.Gridviewl.HeaderRow.FindControl("CheckBox3")asCheckBox: if(checkall.Checked) for(inti=0:i(this.GridVievl.Rows.Count:i+t) CheckBaxcheckbox-this.Gridviewl.Rows [i].FindControl ("CheckBox1")asCheckBox: checkbox.Checked=true: else for(inti=0:i<this.GridVievl.Rows.Count:i++) CheckBaxcheckbox=this.Gridviewl.Rows[i].FindControl ("CheckBox1")asCheckBox: checkbox.Checked-false: 在进行用户信恳修改的时候,对于用户角色及用户状态一栏的显示,秉着直观易操作的原则, 选用DropDowl.ist分别第定后台数据库表UserRoles和UserStates,并设置ae字段用 作DropDownlist中选释项的文本显示字段,Id字段用作ro0 mList中选择项被这中时 传值字段。 在将DropDownlist控件的达中值传递给DetailView数据源控件SqldataSource的pdate 方法的ipdateParaneters时,需编辑DetailView控件的IteaUpdating事件,相关代玛知 下: protectedvoidDetailsViewUser_ItemUpdat ing(objectsender,DetailsViewUpdateEventAr gse)
{ CheckBoxcheckall=this.GridView1.HeaderRow.FindControl("CheckBox3")asCheckBox; if(checkall.Checked) { for(inti=0;i<this.GridView1.Rows.Count;i++) { CheckBoxcheckbox=this.GridView1.Rows[i].FindControl("CheckBox1")asCheckBox; checkbox.Checked=true; } } else { for(inti=0;i<this.GridView1.Rows.Count;i++) { CheckBoxcheckbox=this.GridView1.Rows[i].FindControl("CheckBox1")asCheckBox; checkbox.Checked=false; } } } 在进行用户信息修改的时候,对于用户角色及用户状态一栏的显示,秉着直观易操作的原则, 选用 DropDownList 分别绑定后台数据库表 UserRoles 和 UserStates,并设置 Name 字段用 作 DropDownList 中选择项的文本显示字段,Id 字段用作 DropDownList 中选择项被选中时 传值字段。 在将 DropDownList 控件的选中值传递给 DetailView 数据源控件 SqldataSource 的 Update 方法的 UpdateParameters 时,需编辑 DetailView 控件的 ItemUpdating 事件,相关代码如 下: protectedvoidDetailsViewUser_ItemUpdating(objectsender,DetailsViewUpdateEventAr gse) {

DropDownListdlrolethis.DetailsViewUser.FindControl (DLRole)asDropDownList: DropDownlistdlstate-this.DetailsViewUser.FindControl("DLState")asDropDownl.ist: this.SqlDatallser.UpdateParaneters["UserRoleld"].DefaultValue=dlrole.SelectedVal ve: this.SqlDatallser.UpdateParareters["UserStateld"].DefaultValue=dlstate.Selectedv alue: this.DetailsVienUser.DataBind(:
DropDownListdlrole=this.DetailsViewUser.FindControl("DLRole")asDropDownList; DropDownListdlstate=this.DetailsViewUser.FindControl("DLState")asDropDownList; this.SqlDataUser.UpdateParameters["UserRoleId"].DefaultValue=dlrole.SelectedVal ue; this.SqlDataUser.UpdateParameters["UserStateId"].DefaultValue=dlstate.SelectedV alue; this.DetailsViewUser.DataBind(); }