zoukankan      html  css  js  c++  java
  • 用户管理1

    1 添加users页面继承自Adminmaster

    2添加 datagrid控件

    配置数据源 


    增加编辑角色功能

    2



    3在<asp:TemplateField>里添加如下代码

     <asp:TemplateField>
                <ItemTemplate>
                    <asp:Button ID="Button1" runat="server" Text="编辑角色"    

    /*public string CommandArgument { set; get; }
        System.Web.UI.WebControls.Button 的成员


    摘要:
                  获取或设置可选参数,该参数与关联的 System.Web.UI.WebControls.Button.CommandName 一起被传递到 System.Web.UI.WebControls.Button.Command 事件。


    返回值:
    与关联的 System.Web.UI.WebControls.Button.CommandName 一起被传递到 System.Web.UI.WebControls.Button.Command 事件的可选参数。默认值为 System.String.Empty。
                     
    CommandName="Select"
                      CommandArgument='<%# Eval("UserName") %>'
                     />*/

                </ItemTemplate>
                </asp:TemplateField>


    4添加事件

     

    添加如下代码

    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Web;
    using System.Web.UI;
    using System.Web.UI.WebControls;
    using System.Web.Security;


    namespace WebApplication1
    {
        public partial class Users : System.Web.UI.Page
        {
            protected void Page_Load(object sender, EventArgs e)
            {
                if (!Page.IsPostBack)
                {
                    this.CheckBoxListRoles.DataSource = Roles.GetAllRoles();
                    this.CheckBoxListRoles.DataBind();  //
    保护


    名称 说明
    公共方法 DataBind() 将数据源绑定到被调用的服务器控件及其所有子控件。 (继承自Control。)
    受保护的方法 DataBind(Boolean) 将数据源绑定到调用的服务器控件及其所有子控件,同时可以选择引发DataBinding 事件。 (继承自 Control。)
    页首

    /*public static string[] GetAllRoles()

     System.Web.Security.Roles 的成员 摘要:获取应用程序的所有角色的列表。返回值:一个字符串数组,包含在应用程序的数据源中存储的所有角色名称。System.Configuration.Provider.ProviderException: 未启用角色管理。

    */
                }
            }


            protected void GridView1_SelectedIndexChanged(object sender, EventArgs e)
            {
                string username = this.GridView1.SelectedDataKey.Value.ToString();  //

    /*获取 DataKey 对象,该对象包含 GridView 控件中选中行的数据键值。

    命名空间:System.Web.UI.WebControls
    程序集:System.Web(在 system.web.dll 中)

    设置了 DataKeyNames 属性时GridView 控件使用指定字段的值为控件中的每一行自动创建一个 DataKey 对象。DataKey 对象随后被添加到控件的 DataKeys 集合中。正常情况下,DataKeys 属性用于检索 GridView 控件中特定数据行的 DataKey 对象。但是,如果您只需要检索当前选中行的 DataKey 对象,则可以简单地使用SelectedDataKey 属性作为一种快捷方式。*/




                foreach (ListItem li in this.CheckBoxListRoles.Items) //  foreach 语句用于循环访问集合以获取所需信息  在items中循环一个新实例
                {


                    var role = li.Value;
                    li.Selected = Roles.IsUserInRole(username,role);//验证所选的属不属于角色public abstract bool IsUserInRole(string username, string roleName)
        System.Web.Security.RoleProvider 的成员


    摘要:
    获取一个值,指示指定用户是否属于已配置的 applicationName 的指定角色。

     

                    


                }
            }


            protected void CheckBoxListRoles_SelectedIndexChanged(object sender, EventArgs e)
            {
                string username = this.GridView1.SelectedDataKey.Value.ToString();


                foreach (ListItem li in this.CheckBoxListRoles.Items)
                {
                    var role = li.Value;


                    if (li.Selected)
                    {
                        if (!Roles.IsUserInRole(username, role))
                        {
                            Roles.AddUserToRole(username, role);
                        }
                    }
                    else
                    {
                        if (Roles.IsUserInRole(username, role))
                        {
                            Roles.RemoveUserFromRole(username, role);
                        }
                    }


                }
            }


            


            
            }
            }


           




        
        


        


  • 相关阅读:
    sql server 删除重复数据新思路
    sqlserver 迁移 mysql
    ASP.NET Web deployment task failed. 请与服务器管理员联系,检查授权和委派设置 部署任务失败的解决方案
    数据库交互之减少IO次数
    sqlserver 安全设置
    windows设置相对路径的快捷方式
    利用SignalR实现实时推送信息
    image magick 备忘
    dotnetCore开发中遇到的一些问题
    “NETSDK1061: 项目是使用 Microsoft.NETCore.App 版本 2.1.14 还原的, 但使用当前设置, 将改用版本 2.1.0。”的处理方法
  • 原文地址:https://www.cnblogs.com/shuozi-love/p/3746700.html
Copyright © 2011-2022 走看看