使用CheckboxList控件

 

//前台页面

<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="myTest.aspx.cs"
    Inherits="HealthWebSite.Admin.RoleFuncation" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
    <title></title>
    <style type="text/css">
        .btn_2k3
        {
            border: 1pt solid #A3BFE8;
            border-collapse: collapse;
            height: 25px;
            width: 80px;
            text-align: center;
            filter: progid:DXImageTransform.Microsoft.Gradient(GradientType=0, StartColorStr=#FFFFFF, EndColorStr=#9DBCEA);
        }
        .grdw
        {
            text-align: center;
        }
        .value
        {
            background-color: White;
            text-align: left;
        }
    </style>
</head>
<body style="font-size: 12px">
    <form id="form1" runat="server">
    <div style="float: left; border: 1px solid #808080; width: 100%">
        <div style="float: left; width: 100%;">
            <asp:GridView ID="GridView2" runat="server" CellPadding="4" GridLines="None" AutoGenerateColumns="False"
                Width="100%" DataKeyNames="" AllowPaging="True" PageSize="8" OnPageIndexChanging="GridView2_PageIndexChanging"
                OnRowCommand="GridView2_RowCommand">
                <RowStyle BackColor="#EFF3FB" CssClass="grdw" />
                <Columns>
                    <asp:TemplateField HeaderText="所有角色" HeaderStyle-HorizontalAlign="Left">
                        <ItemTemplate>
                            <asp:Label ID="lblname" runat="server" Text='<%# Eval("rolename") %>' />
                        </ItemTemplate>
                    </asp:TemplateField>
                    <asp:TemplateField HeaderText="">
                        <ItemTemplate>
                            <asp:Button ID="btnxgqx" runat="server" Text="查看权限" CssClass="btn_2k3" CommandName='fenpei'
                                CommandArgument='<%# bind("RoleId") %>' />
                        </ItemTemplate>
                    </asp:TemplateField>
                </Columns>
                <FooterStyle Font-Bold="True" ForeColor="White" />
                <PagerStyle BackColor="#99CCFF" ForeColor="White" HorizontalAlign="Center" />
                <SelectedRowStyle BackColor="#D1DDF1" Font-Bold="True" ForeColor="#333333" />
                <HeaderStyle BackColor="#99CCFF" />
            </asp:GridView>
        </div>
        <div style="text-align: right;width: 100%;">
            <table>
                <tr>
                    <td align="right">
                        角色名称:
                    </td>
                    <td class="value">
                        <asp:Label Visible="false" runat="server" ID="lblroleid"></asp:Label>
                        <asp:TextBox ID="txtrolename" runat="server" />
                    </td>
                    <td align="right">
                        <asp:Button ID="btnadd" runat="server" CssClass="btn_2k3" Text="添加" OnClick="btnadd_Click1" />
                    </td>
                    <td>
                        <asp:Button ID="btnupdate" runat="server" CssClass="btn_2k3" Text="修改" OnClick="btnupdate_Click" />
                    </td>
                </tr>
            </table>
        </div>
    </div>
    <div style="float: left; border: 1px solid #808080; margin-top: 5px; width: 100%;">
        <div style="float: left; width: 100%;">
            <table style="width: 100%" cellpadding="0" cellspacing="0">
                <tr>
                    <td style="background-color: #99CCFF; height: 25px; font-weight: bold;">
                        &nbsp;角色功能:<asp:Label runat="server" ID="lblrolenameupdate" />
                        <asp:Label runat="server" ID="lblroleidupdate" Visible="false" />
                    </td>
                </tr>
                <tr>
                    <td>
                        <asp:CheckBoxList ID="CheckBoxList1" runat="server" DataTextField="jurisdictionname"
                            DataValueField="jurisdictionid" RepeatDirection="Horizontal" RepeatColumns="4"
                            AutoPostBack="false" Width="100%" BorderStyle="Solid">
                        </asp:CheckBoxList>
                    </td>
                </tr>
                <tr>
                    <td align="right">
                        <asp:Button ID="btnquanxian" runat="server" CssClass="btn_2k3" Text="保存权限" OnClick="btnquanxian_Click" />
                    </td>
                </tr>
                <tr>
                    <td>
                    </td>
                </tr>
            </table>
        </div>
    </div>
    </form>
</body>
</html>

 

 

 

 

//后台:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using Common;
using System.Data;
using Platform;

namespace HealthWebSite.Admin
{
    public partial class test

    {
        protected void Page_Load(object sender, EventArgs e)
        {

            if(!Page.IsPostBack){

                string sqlcheck = @"select jurisdictionid,jurisdictionname from web_functiontable";
                CheckBoxList1.DataSource = Temp.Find(sqlcheck).Tables[0];//对checkboxlist控件进行数据绑定
                CheckBoxList1.DataBind();
                Chushihuarole();
            }
        }

       
        /// <summary>
        /// 初始化GridView控件
        /// </summary>
        public void Chushihuarole()
        {

            string sqlrole = @"select RoleId,rolename  from web_roletable";
            GridView2.DataSource = Temp.Find(sqlrole).Tables[0];
            GridView2.DataBind();

        }

        /// <summary>
        /// 添加
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        protected void btnadd_Click1(object sender, EventArgs e)
        {

            if (txtrolename.Text.ToString() == "")
            {

                ClientScript.RegisterClientScriptBlock(GetType(), "OnLoad", "alert('角色名称不能为空');", true);
                return;
            }

            string selsql = @"select *  from web_roletable where rolename='" + txtrolename.Text.ToString().Trim() + "'";
            DataSet selset = Temp.Find(selsql);
            if (selset.Tables.Count > 0 && selset.Tables[0].Rows.Count > 0)
            {

                ClientScript.RegisterClientScriptBlock(GetType(), "OnLoad", "alert('角色名称已存在');", true);
                return;

            }
            else
            {

                string addsql = @"insert into web_roletable(RoleId,rolename)
                            values('" + Guid.NewGuid().ToString().ToUpper() + "','" + txtrolename.Text.ToString() + "')";
                int result = Temp.Update(addsql);
                if (result > 0)
                {

                    Response.Write("<script language='javascript'>alert('添加成功');window.location.href ='test.aspx';</script>");
                }
            }
 

        }

        /// <summary>
        /// 修改
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        protected void btnupdate_Click(object sender, EventArgs e)
        {

            if (txtrolename.Text.ToString() == "")
            {

                ClientScript.RegisterClientScriptBlock(GetType(), "OnLoad", "alert('角色名称不能为空');", true);
                return;
            }
            if(lblroleid.Text.ToString()==""){

                ClientScript.RegisterClientScriptBlock(GetType(), "OnLoad", "alert('选择要修改的角色');", true);
                return;
            }

            string selsql = @"select *  from web_roletable where rolename='" + txtrolename.Text.ToString().Trim() + "' and RoleId!='" + lblroleid.Text.ToString().ToUpper() + "'";
            DataSet selset = Temp.Find(selsql);
            if (selset.Tables.Count > 0 && selset.Tables[0].Rows.Count > 0)
            {

                ClientScript.RegisterClientScriptBlock(GetType(), "OnLoad", "alert('角色名称已存在');", true);
                return;

            }
            else
            {

                string addsql = @"update web_roletable set  rolename='" + txtrolename.Text.ToString().Trim() + "'  where RoleId='" + lblroleid.Text.ToString().ToUpper() + "'";
                        
                int result = Temp.Update(addsql);
                if (result > 0)
                {

                    Response.Write("<script language='javascript'>alert('修改成功');window.location.href ='RoleFuncation.aspx';</script>");
                }
            }


        }

        /// <summary>
        /// 分页
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        protected void GridView2_PageIndexChanging(object sender, GridViewPageEventArgs e)
        {
            GridView2.PageIndex = e.NewPageIndex;
            Chushihuarole();
        }
 
        /// <summary>
        /// 操作
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        protected void GridView2_RowCommand(object sender, GridViewCommandEventArgs e)
        {
            string RoleId = e.CommandArgument.ToString();

            if(e.CommandName=="fenpei"){//当点击GridView中分配权限按钮的时候

                for (int j = 0; j < CheckBoxList1.Items.Count; j++)//对checkboxlist中的所有数据项进行遍历
                {
                    CheckBoxList1.Items[j].Selected = false;//把checkboxlist中的所有数据项都设置为非选中状态
                }

                //获取该角色的所有权限 循环找 有就复选框为打钩状态
                //获取所有权限功能

                string selectrole = @"select RoleId,rolename from web_roletable where RoleId='" + RoleId + "'";
                DataSet selectroleset = Temp.Find(selectrole);
                lblrolenameupdate.Text = selectroleset.Tables[0].Rows[0]["rolename"].ToString();
                lblroleidupdate.Text = RoleId;
                txtrolename.Text = selectroleset.Tables[0].Rows[0]["rolename"].ToString();
                lblroleid.Text = RoleId;

                string sqlfenpei = @" select  rolefuncationid,RoleId,funcationid
                       from web_rolefuncation   where RoleId='" + RoleId + "'";
                DataSet setfenpei = Temp.Find(sqlfenpei);
                if (setfenpei.Tables.Count > 0 && setfenpei.Tables[0].Rows.Count > 0)
                {
                    // string sqlcheckbox = @"select jurisdictionid,jurisdictionname from web_functiontable";
                    // DataSet setcheckbox = Temp.Find(sqlcheckbox);

                        foreach (DataRow row in setfenpei.Tables[0].Rows)
                        {
                            for (int j = 0; j < CheckBoxList1.Items.Count; j++)
                            {
                                if (CheckBoxList1.Items[j].Value == row["funcationid"].ToString())
                                {
                                    CheckBoxList1.Items[j].Selected = true;//设置CheckboxList中的选项被选中

                                }                 
                           }
                    }
                }               
            }
        }
        /// <summary>
        /// 修改权限
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        protected void btnquanxian_Click(object sender, EventArgs e)
        {
                //先删除所有权限然后 添加选择的权限
            if (lblroleidupdate.Text.ToString()=="")
            {
                ClientScript.RegisterClientScriptBlock(GetType(), "OnLoad", "alert('选择要分配权限的角色');", true);
                return;
            }

            string delcheck = @"delete from web_rolefuncation where RoleId='" + lblroleidupdate.Text.ToString().ToUpper() + "'";
            int jiegou = 0;
            int result = Temp.Update(delcheck);
         
                for (int j = 0; j < CheckBoxList1.Items.Count;j++ )//遍历checkboxlist中的所有数据项
                {
                    //打钩的复选框,取到复选框选中的数据
                    if (CheckBoxList1.Items[j].Selected)//如果取到的数据是被选中的话
                    {
                        string addsql = @"insert into web_rolefuncation(rolefuncationid,RoleId,funcationid)
                            values('" + Guid.NewGuid().ToString().ToUpper() + "','" + lblroleidupdate.Text.ToString().ToUpper()
                                      + "','" + CheckBoxList1.Items[j].Value.ToUpper() + "')";//取到更新的sql语句
                         
                         jiegou = Temp.Update(addsql);//进行更新操作
                           
                    }
                }

                if (jiegou>0)//如果更新的语句条数大于0条,则给出分配成功的提示
                {
 
                    Response.Write("<script language='javascript'>alert('分配权限成功');window.location.href ='RoleFuncation.aspx';</script>");

                }

        }
 
    }
}

 

 

 

 

 

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值