这个是在窗体一加载的时候就生成一个 checkBoxList . function OnLoad_AllUser() ...{ var res = Admin_usersRight.allRightValue(); //返回表中对应的角色说明出来 var roleCommentId; var rightRole; var comment; var info =""; var allComment = res.value.split("~"); roleCommentId = allComment[0].split(","); rightRole = allComment[1].split(","); comment = allComment[2].split(","); for(var i =0 ; i < roleCommentId.length -1; i++) ...{ info +='<tr><td><input id="CheckBoxList1_'+ rightRole[i] +'" type="checkbox" onclick="onclick_Value('+ rightRole[i] +');" name="CheckBoxList1$'+ rightRole[i] +'" /><label for="CheckBoxList1_'+ rightRole[i] +'">'+ comment[i] +'</label></td></tr>' } document.getElementById("allRight").innerHTML ='<table id="Table1" border="0">'+ info +'<tr><td><input type="button" id="btnRightSet" onclick="rightSet(1)" value="确定" /> </td></tr></table>'; }
下面这代码是对当选择某个checkBox时进行的操作
function onclick_Value( m ) //m是要设定的权限值 ...{ if(document.getElementById("CheckBoxList1_"+ m).checked) ...{ countNo += m +'~'; //当被选中时,就把他的m值记录下来 } else//又去掉时先前选中的m值 ...{ if(countNo.length>0) ...{ var no = countNo.split("~"); //对 countNo 进行分析 var max = no.length -1; //取得最大值 for(var i =0; i < max ; i++) ...{ //如果用户去掉对钩时,那么这个地方就是把前先那个 m 值给掉,然后把后面的 //往前移. 如 countNo = "1,2,3,4,5,6,7,8," m = 4 ,现在就得把countNo 里的4去掉 if(no[i] == m) ...{ for(var j = i ; j < max ; j ++) ...{ no[j] = no[j+1] } } } countNo =""; // 下面这里重新给 countNo 赋值,些时 countNo = "1,2,3,5,6,7,8,"; for(var i =0 ; i < max -1 ; i++) ...{ countNo += no[i] +'~'; } } else ...{ } } }
下面就是对刚才的操作开始执行了
function rightSet(status) //这个是 ...{ var username = document.getElementById("txtUsername").value; var aa = Admin_usersRight.setUserRight(countNo,username,status,_doPostRightSetCallBack); ShowUserRight(); }
下面是我的cs里的代码
using System; using System.Data; using System.Configuration; using System.Collections; using System.Web; using System.Web.Security; using System.Web.UI; using System.Web.UI.WebControls; using System.Web.UI.WebControls.WebParts; using System.Web.UI.HtmlControls; publicpartialclass Admin_usersRight : adminBasePase ...{ protectedvoid Page_Load(object sender, EventArgs e) ...{ if (!IsPostBack) ...{ AjaxPro.Utility.RegisterTypeForAjax(typeof(Admin_usersRight)); } } /**////<summary> /// 添加用户权限 ///</summary> ///<param name="userId">用户ID号</param> ///<param name="rightValue">权限值</param> ///<returns>int</returns> [AjaxPro.AjaxMethod] publicstaticint addUserRight(int userId,int rightValue) ...{ int count =0; if (returnValue.userRightIsExist(userId, rightValue) ==true) ...{ } else ...{ if (addOperator.addUserRight(userId, rightValue) ==true) ...{ count =1; } else ...{ count =2; } } return count; } /**////<summary> /// 是否存在此权限 ///</summary> ///<param name="rightId">权限的ID号</param> ///<param name="usersId">用户的ID号</param> ///<returns>bool</returns> privatestaticbool isExistRight(int rightId,int usersId) ...{ return returnValue.isExistRight(rightId, usersId); } /**////<summary> /// 用户是否存在 ///</summary> ///<param name="userName">用户名称</param> ///<returns>bool</returns> privatestaticbool isExistUsername(string userName) ...{ return returnValue.isExistUsername(userName); } privatestaticint getUserId(string userName) ...{ return returnValue.getUserNameID(userName); } /**////<summary> /// 设置用户权限 ///</summary> ///<param name="rightValue">权限值</param> ///<param name="userName">用户名</param> ///<returns>int</returns> [AjaxPro.AjaxMethod] publicstaticint setUserRight(string rightValue,string userName,int status) ...{ int count =0; if (isExistUsername(userName) ==true) ...{ int usersId = getUserId(userName); string[] RightId = rightValue.Split(newchar[] ...{ '~' }); int max = RightId.Length -1; for (int i =0; i < max; i++) ...{ if (isExistRight(int.Parse(RightId[i]), usersId) ==true) ...{ if (status ==2) ...{ //删除操作 deleteOperator.deleteUserRight(int.Parse(RightId[i]), usersId); } } else ...{ if (status ==1) ...{ addOperator.addUserRight(usersId, int.Parse(RightId[i])); } } } count =1; } else ...{ count =2; } return count ; } /**////<summary> /// 所有权限 ///</summary> ///<returns></returns> [AjaxPro.AjaxMethod] publicstaticstring allRightValue() ...{ return returnValue.allRightValue(); } /**////<summary> /// 显示用户权限 ///</summary> ///<param name="userName">用户名</param> ///<returns>string</returns> [AjaxPro.AjaxMethod] publicstaticstring ShowUserRight(string userName) ...{ int userId = getUserId(userName); return returnValue.ShowUserRight(userId); }