ajax 笔记--对CheckBoxList的简单操作

这个是在窗体一加载的时候就生成一个 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;

public partial class Admin_usersRight : adminBasePase
{
    
protected void 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]
    
public static int 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>

    private static bool isExistRight(int rightId,int usersId)
    
{
        
return returnValue.isExistRight(rightId, usersId);
    }


    
/// <summary>
    
/// 用户是否存在
    
/// </summary>
    
/// <param name="userName">用户名称</param>
    
/// <returns>bool</returns>

    private static bool isExistUsername(string userName)
    
{
        
return returnValue.isExistUsername(userName);
    }


    
private static int getUserId(string userName)
    
{
        
return  returnValue.getUserNameID(userName);
    }


    
/// <summary>
    
/// 设置用户权限
    
/// </summary>
    
/// <param name="rightValue">权限值</param>
    
/// <param name="userName">用户名</param>
    
/// <returns>int</returns>

    [AjaxPro.AjaxMethod]
    
public static int setUserRight(string rightValue,string userName,int status)
    
{
        
int count = 0;
        
if (isExistUsername(userName) == true)
        
{
            
int usersId = getUserId(userName);
            
string[] RightId = rightValue.Split(new char[] '~' });
            
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]
    
public static string allRightValue()
    
{
        
return returnValue.allRightValue();
    }


    
/// <summary>
    
/// 显示用户权限
    
/// </summary>
    
/// <param name="userName">用户名</param>
    
/// <returns>string</returns>

    [AjaxPro.AjaxMethod]
    
public static string ShowUserRight(string userName)
    
{
        
int userId = getUserId(userName);
        
return returnValue.ShowUserRight(userId);
    }

posted on 2006-11-12 22:02  小土泥  阅读(824)  评论(0编辑  收藏  举报

导航