时间:2021-07-01 10:21:17 帮助过:10人阅读
- <br><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <br><html xmlns="http://www.w3.org/1999/xhtml"> <br><head> <br><meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <br><meta name="Author" content="kudychen@gmail.com" /> <br><meta http-equiv="X-UA-Compatible" content="IE=EmulateIE7" /> <br><title>用户管理——查询用户</title> <br><br><script src="../../js/DIV/jquery.js"></script> <br><script src="../../js/DIV/DIV.js"></script> <br><link href="../../css/admin.global.css" rel="stylesheet" type="text/css" /> <br><link href="../../css/admin.content.css" rel="stylesheet" type="text/css" /> <br><br><style type="text/css"> <br>.btn-middle { <br>width: 76px; <br>} <br></style> <br><br></head> <br><body> <br><form id="Form" method="post" runat="server" > <br><%--box标记 main 开始标记--%> <br><box id="main" title="主要"> <br><div class="location">当前位置:用户管理 -> 查询用户</div> <br><br><div class="blank10"></div> <br><%--box标记 QueryUser 开始标记--%> <br><box id="QueryUser" title="查询用户"> <br><div class="search block" > <br><div class="h"> <br><span class="icon-sprite icon-magnifier"></span> <br><h3>快速搜索</h3> <br></div> <br><div class="tl corner"></div> <br><div class="tr corner"></div> <br><div class="bl corner"></div> <br><div class="br corner"></div> <br><div class="cnt-wp"> <br><div class="cnt"> <br><div class="search-bar"> <br><label class="first txt-green">用户名:</label> <br><input value="" type="text" name="username" id="username" class="input-small" /> <br><br><br><asp:LinkButton ID="lbtQuery" class="btn-lit" runat="server" <br>OnClick="lbtQuery_Click" Width="58px"><span >查询</span></asp:LinkButton> <br><br><%--box标记 AddUser 开始标记--%> <br><box id="AddUser" title="添加用户"> <br><a class="btn-lit btn-middle" href="AdmAddUser.aspx"> <br><span>添加用户</span> <br></a> <br></box> <br><%--box标记 AddUser结束标记--%> <br></div> <br></div> <br></div> <br></div> <br></box> <br><%--box标记 QueryUser结束标记--%> <br><br><%--box标记 UserList开始标记--%> <br><box id="UserList" title="用户列表"> <br><span class="block"> <br><div class="tl corner"></div> <br><div class="tr corner"></div> <br><div class="bl corner"></div> <br><div class="br corner"></div> <br><div class="cnt-wp"> <br><div class="cnt"> <br><div class="h"> <br><span class="icon-sprite icon-list"></span> <br><h3>用户列表</h3> <br></div> <br><div class="blank10"></div> <br><br><asp:Repeater ID="rpUserInfo" runat="server" onitemcommand="rpUserInfo_ItemCommand"> <br><HeaderTemplate> <br><table class="data-table history" id="mainTable" border="0" cellspacing="0" cellpadding="0"> <br><tr> <br><th scope="col">用户名称</th> <br><th scope="col">角色</th> <br><th scope="col">操作记录</th> <br><th scope="col">编辑</th> <br></tr> <br></HeaderTemplate> <br><ItemTemplate> <br><tr> <br><td class="txt160 c"><%#Eval("UserName")%></td> <br><td class="txt c"><%#Eval("RoleName")%></td> <br><td class="txt80 c"><a href="AdmOperatorRecord.aspx?UserId=<%#Eval("UserNo") %>" title="操作记录">操作记录</a></td> <br><td class="icon"> <br><%--box标记 EditUserInfo开始标记--%> <br><box id="EditUserInfo" title="编辑用户"> <br><a class="opt" title="编辑" href="AdmUpdateUser.aspx?UserId=<%#Eval("UserNo") %>"> <br><span class="icon-sprite icon-edit"> <br></span> <br></a> <br></box> <br><%--box标记 EditUserInfo结束标记--%> <br></td> <br></tr> <br></ItemTemplate> <br><FooterTemplate> <br></table> <br></FooterTemplate> <br></asp:Repeater> <br></div> <br></div> <br></span> <br><span id="spanFirst">第一页</span> <span id="spanPre">上一页</span> <span id="spanNext">下一页</span> <span id="spanLast">最后一页</span> 第<span id="spanPageNum"></span>页/共<span id="spanTotalPage"></span>页 <br></box> <br><%--box标记 UserList 结束标记--%> <br></box> <br><%--box标记 main 结束标记--%> <br></form> <br></body> <br></html> <br> <br><br>2.扫描界面获取所要分配权限的元素信息。 <br><br>由于界面上有了<box>这个元素来表示权限的元素,这样扫描起来就好一些了不过还是遇到了不少的问题,最终还是解决了,最难的是扫描出两个<box>之间的父子关系。下面是JS代码: <br><span><u></u></span> 代码如下:<pre class="brush:php;toolbar:false layui-box layui-code-view layui-code-notepad"><ol class="layui-code-ol"><li><br>$(document).ready(function () { <br><br>var rootboxs = document.getElementById("main"); <br>var child = rootboxs.childNodes; <br>findchildbox(child) <br><br><br>}); <br>//搜寻子节点 <br>function findchildbox(parentNode) { <br><br>for (var i = 0; i < parentNode.length; i++) { <br>/// <br>if (parentNode[i].nodeName == "BOX") { <br><br>var childboxId = parentNode[i].id; <br>var childboxTitle = encodeURI(parentNode[i].title); <br>var parentbox = findparentbox(parentNode[i].parentNode); <br>var parentboxId = parentbox.id; <br>if (window.XMLHttpRequest) { <br>//IE7 above,firefox,chrome^^ <br>xmlhttp = new XMLHttpRequest(); <br>//为了兼容部分Mozillar浏览器,当来自服务器响应开头不是xml,导致的无法响应问题 <br>if (xmlhttp.overrideMimeType) { <br>xmlhttp.overrideMimeType('text/xml'); <br>} <br>} <br>else if (window.ActiveXObject) { <br>//IE5\IE6 <br>xmlhttp = new activeXObject("Microsoft.XMLHTTP"); <br>} <br>if (xmlhttp == null || xmlhttp == undefined) { <br>alert("con't create XMLHttpRequest Object"); <br>} <br>//注册回调函数 <br>xmlhttp.onreadystatechange = callback; <br>//发送信息 <br><br>xmlhttp.open('GET', '../../Manager/RoleManager/AddBox.ashx?childboxId=' + childboxId + '&childboxTitle=' + childboxTitle + '&parentboxId=' + parentboxId, true); <br>xmlhttp.send(null); <br><br><br>function callback() { <br>//判断交互是否完成,是否正确返回 <br>if (xmlhttp.readyState == 4 && xmlhttp.status == 200) { <br><br>} <br>} <br><br>} <br><br>findchildbox(parentNode[i].childNodes) <br><br>} <br><br>} <br><br>//查询父节点 <br>function findparentbox(child) { <br><br>if (child.nodeName == "BOX") { <br>return child; <br>} else { <br>return findparentbox(child.parentNode) <br><br>} <br><br>} <br> <br>3.存入数据库中。 <br><br>利用AJAX存入到数据库中,一开始就遇到了问题,因为扫描界面所需要的时间太短在还没有把第一条数据插入到数据库的时候第二条数据就来了这样导致了第一条数据的部分信息就会被第二条记录替代了导致存入数据库的数据出现了问题。一开始我是打算在JS那里加上个延迟,结果表名不行。然后我就在一班程序里面加入一个类似锁的一个东西,算作延迟吧这样存入的数据就不会错误了下面是代码: <br><span><u></u></span> 代码如下:<pre class="brush:php;toolbar:false layui-box layui-code-view layui-code-notepad"><ol class="layui-code-ol"><li><br>using System; <br>using System.Collections.Generic; <br>using System.Linq; <br>using System.Web; <br>using BLL.Manager.RoleUserManagerBLL; <br>using System.Data; <br>using System.Text; <br>using Model; <br>using BLL; <br><br>namespace ExamSystemV3.Manager.RoleManager <br>{ <br>/// <summary> <br>/// AddBox 的摘要说明 <br>/// </summary> <br>public class AddBox : IHttpHandler <br>{ <br><br>public void ProcessRequest(HttpContext context) <br>{ <br>context.Response.ContentType = "text/plain"; <br>System.Threading.Thread.Sleep(1000); <br>DIVEntity EDiv = new DIVEntity(); <br>AdmDIVManager admDIVManager = new AdmDIVManager(); <br>PublicBLL publicBll = new PublicBLL(); <br>string strChildBoxId = ""; <br>string strChildBoxTitle = ""; <br><br>strChildBoxId = context.Request.QueryString["childboxId"].ToString().Trim(); <br>strChildBoxTitle = context.Server.UrlDecode(context.Request.QueryString["childboxTitle"].ToString().Trim()); <br>string strParentBoxId=context.Request.QueryString["parentboxId"].ToString ().Trim();; <br>string strState = "是"; <br>string strDateTime = publicBll.GetDate(); <br>string strIP = publicBll.GetWebClientIp(); <br>string strOperator ="xvshu";//context.Session["UserNo"].ToString().Trim(); ; <br>EDiv.Id = strChildBoxId; <br>EDiv.MainRelation = strParentBoxId; <br>EDiv.DIVName = strChildBoxTitle; <br>EDiv.DIVDescribe = strChildBoxTitle; <br>EDiv.Operator = strOperator; <br>EDiv.OperatorIP = strIP; <br>EDiv.State = strState; <br>EDiv.DateTime = strDateTime; <br>admDIVManager.AddDIV(EDiv); <br>} <br><br>public bool IsReusable <br>{ <br>get <br>{ <br>return false; <br>} <br>} <br>} <br>} <br> <br>利用TreeView控件显示出来如下图: <br><img src="https://img.gxlcms.com//Uploads-s/new/2019-09-19-201919/201312131555241.gif"></li><li> </li><li> </li></ol></pre></li></ol></pre>