/// <summary> /// 更改部门名称后就刷新到该部门的数据 /// </summary> /// <param name="sender"></param> /// <param name="e"></param> protected void ddlProc_SelectedIndexChanged(object sender, EventArgs e) { //获取Session中保存的用户id Int16 userId = Int16.Parse(Session["user_id"].ToString()); //当前用户选择的部门id byte procId = Byte.Parse(ddlProc.SelectedValue); //通过选择的部门id以及当前用户id获取用户权限 using (var da = new v_user_proc_roleTableAdapter()) { //获取数据 var tab = da.GetDataByUserIdAndProcId(userId, procId); //检测有无数据 if (tab != null && tab.Rows.Count > 0) { //只取首行 var row = (DataSetUserProcRole.v_user_proc_roleRow)tab.Rows[0]; //清除之前保存的全部session Session.Clear(); //将用户名id写入Session Session["user_id"] = row.u_id; //将用户名写入Session Session["user_name"] = row.u_name; //将部门id写入Session Session["proc_id"] = row.proc_id; //将部门名称写入Session Session["proc_name"] = row.proc_name; //将角色id写入Session Session["role_id"] = row.ro_id; //更新最后一次部门名称 using (var da2 = new t_userTableAdapter()) { da2.UpdateLastProcByUserId(row.proc_name, row.u_id); } //刷新页面 StringBuilder sb = new StringBuilder(); sb.AppendLine("<script type=\"text/javascript\">"); sb.AppendLine("this.top.location.replace(this.top.location.href);"); sb.AppendLine("this.top.document.title=\"" + ddlProc.SelectedItem.Text + "部门管理系统\";"); sb.AppendLine("</script>"); Response.Write(sb.ToString()); } } }
protected void ddlProc_DataBound(object sender, EventArgs e) { //获取Session中保存的用户id Int16 userId = Int16.Parse(Session["user_id"].ToString()); //当前用户选择的部门id object obj = Session["proc_id"]; //通过选择的部门id以及当前用户id获取用户权限 using (var da = new v_user_proc_roleTableAdapter()) { //保存查询数据的表 DataSetUserProcRole.v_user_proc_roleDataTable tab; //检测部门id号 byte procId; if (obj != null && byte.TryParse(obj.ToString(), out procId) && procId != byte.MaxValue) { //获取数据 tab = da.GetDataByUserIdAndProcId(userId, procId); } else { //获取数据 tab = da.GetDataByUserId(userId); } //检测有无数据 if (tab != null && tab.Rows.Count > 0) { //只取首行 var row = (DataSetUserProcRole.v_user_proc_roleRow)tab.Rows[0]; //设置用户名和部门名称 ltlUser.Text = row.u_name; //清除之前保存的全部session Session.Clear(); //将用户名id写入Session Session["user_id"] = row.u_id; //将用户名写入Session Session["user_name"] = row.u_name; //将部门id写入Session Session["proc_id"] = row.proc_id; //将部门名称写入Session Session["proc_name"] = row.proc_name; //将角色id写入Session Session["role_id"] = row.ro_id; //取得是否部门名称 using (var da2 = new t_procTableAdapter()) { //获取全部部门清单 var tab2 = da2.GetDataByProductProcName(row.proc_name); //检测结果 if (tab2.Rows.Count <= 0) { //改变为部门 litProc.Text = "部门"; } } //显示到ddl控件中 for (int i = 0; i < ddlProc.Items.Count; i++) { //当前项 var itm = ddlProc.Items[i]; if (itm.Text == row.proc_name) { //设置当前项为选中项 if (ddlProc.SelectedIndex != i) { ddlProc.SelectedIndex = i; } //更新最后一次部门名称 using (var da2 = new t_userTableAdapter()) { da2.UpdateLastProcByUserId(row.proc_name, row.u_id); } //刷新页面 StringBuilder sb = new StringBuilder(); sb.AppendLine("<script type=\"text/javascript\">"); sb.AppendLine("this.top.document.title=\"" + ddlProc.SelectedItem.Text + litProc.Text + "管理系统\";"); sb.AppendLine("</script>"); Response.Write(sb.ToString()); //退出循环 break; } } } } }