예제 #1
0
 /// <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());
         }
     }
 }
예제 #2
0
 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;
                 }
             }
         }
     }
 }