⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 manageusers.aspx.cs

📁 三层架构的.net源码三层架构的.net源码
💻 CS
字号:
using System;
using System.Collections;
using System.ComponentModel;
using System.Data;
using System.Data.SqlClient;
using System.Drawing;
using System.Web;
using System.Web.SessionState;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.HtmlControls;

namespace MyStarterKit.Portal.Web
{
	/// <summary>
	/// ManageUsers 的摘要说明。
	/// </summary>
	public class ManageUsers : System.Web.UI.Page
	{
		protected System.Web.UI.WebControls.TextBox Email;
		protected System.Web.UI.WebControls.TextBox Password;
		protected System.Web.UI.WebControls.RequiredFieldValidator RequiredFieldValidator1;
		protected System.Web.UI.WebControls.TextBox ConfirmPassword;
		protected System.Web.UI.WebControls.RequiredFieldValidator RequiredFieldValidator2;
		protected System.Web.UI.WebControls.CompareValidator CompareValidator1;
		protected System.Web.UI.WebControls.LinkButton UpdateUserBtn;
		protected System.Web.UI.WebControls.DropDownList allRoles;
		protected System.Web.UI.WebControls.LinkButton addExisting;
		protected System.Web.UI.WebControls.DataList userRoles;
		protected System.Web.UI.WebControls.LinkButton saveBtn;
		protected System.Web.UI.HtmlControls.HtmlGenericControl title;

		int    userId   = -1;
		String userName = "";

		private void Page_Load(object sender, System.EventArgs e)
		{
			// 用户角色为Admins的才能访问该管理模块,否则重定向到EditAccessDenied.aspx
			if (PortalSecurity.IsInRoles("Admins") == false) 
			{
				Response.Redirect("~/Admin/EditAccessDenied.aspx");
			}

			// 用户Id
			if (Request.Params["userid"] != null) 
			{
				userId = Int32.Parse(Request.Params["userid"]);
			}
			// 用户名称
			if (Request.Params["username"] != null) 
			{
				userName = (String)Request.Params["username"];
			}
			
			if (!Page.IsPostBack) 
			{
				// userName等于空时为新用户
				if (userName == "") 
				{

					UsersDB users = new UsersDB();

					// 添加新用户
					int uid = -1;
					int i = 0;
					// 有重复的用户,就添加不成功,uid仍为-1,就在原有用户的基础上加1,直到成功为止
					while (uid == -1) 
					{
						String friendlyName = "New User created " + DateTime.Now.ToString();
						userName = "New User " + i.ToString();
						uid = users.AddUser(friendlyName, userName, "");
						i++;
					}
					//再次重定向回用户管理页
					Response.Redirect("~/Admin/ManageUsers.aspx?userId=" + uid + "&username=" + userName);
				}

				BindData();
			}
		}

		/// <summary>
		/// 保存对用户的修改
		/// </summary>
		/// <param name="Sender"></param>
		/// <param name="e"></param>
		private void Save_Click(Object Sender, EventArgs e) 
		{
			// 获取管理标签的索引adminIndex,管理标签默认为最后一个
			PortalSettings portalSettings = (PortalSettings) Context.Items["PortalSettings"];
			int adminIndex = portalSettings.DesktopTabs.Count-1;        
			// 返回管理页
			Response.Redirect("~/DesktopDefault.aspx?tabindex=" + adminIndex.ToString() + "&tabid=" + ((TabStripDetails)portalSettings.DesktopTabs[adminIndex]).TabId);
		}

		/// <summary>
		/// 添加用户至此角色
		/// </summary>
		/// <param name="sender"></param>
		/// <param name="e"></param>
		private void AddRole_Click(Object sender, EventArgs e) 
		{

			int roleId;

			// 找到角色Id
			roleId = Int32.Parse(allRoles.SelectedItem.Value);

			// 添加用户角色关系
			RolesDB roles = new RolesDB();
			roles.AddUserRole(roleId, userId);

			// 重新绑定
			BindData();
		}


		/// <summary>
		/// 提交名字与口令的更改
		/// </summary>
		/// <param name="sender"></param>
		/// <param name="e"></param>
		private void UpdateUser_Click(Object sender, EventArgs e) 
		{

			// 更新用户信息
			UsersDB users = new UsersDB();
			users.UpdateUser(userId, Email.Text, PortalSecurity.Encrypt(Password.Text));

			// 再次重定向回用户管理页
			Response.Redirect("~/Admin/ManageUsers.aspx?userId=" + userId + "&username=" + Email.Text);
		}

		/// <summary>
		/// 删除用户角色关系
		/// </summary>
		/// <param name="sender"></param>
		/// <param name="e"></param>
		private void UserRoles_ItemCommand(object sender, DataListCommandEventArgs e) 
		{
			RolesDB roles = new RolesDB();
			int roleId = (int) userRoles.DataKeys[e.Item.ItemIndex];
			roles.DeleteUserRole(roleId, userId);
			userRoles.EditItemIndex = -1;
			BindData();
		}

		/// <summary>
		/// 初始化页面控件
		/// </summary>
		private void BindData()
		{

			// 读取用户的Email
			UsersDB users = new UsersDB();
			SqlDataReader dr = users.GetSingleUser(userName);
			dr.Read();
			Email.Text = (String) dr["Email"];
			dr.Close();

			// 显示标题
			if (userName != "") 
			{
				title.InnerText = "正在修改的用户:" + userName;
			}

			// 获取用户的角色信息
			userRoles.DataSource = users.GetRolesByUser(userName);
			userRoles.DataBind();

			// 从HttpContext中获取全局设置对象
			PortalSettings portalSettings = (PortalSettings) Context.Items["PortalSettings"];

			// 获取当前站点下的全部角色信息
			RolesDB roles = new RolesDB();
			allRoles.DataSource = roles.GetPortalRoles(portalSettings.PortalId);
			allRoles.DataBind();
		}


		#region Web 窗体设计器生成的代码
		override protected void OnInit(EventArgs e)
		{
			//
			// CODEGEN: 该调用是 ASP.NET Web 窗体设计器所必需的。
			//
			InitializeComponent();
			base.OnInit(e);
		}
		
		/// <summary>
		/// 设计器支持所需的方法 - 不要使用代码编辑器修改
		/// 此方法的内容。
		/// </summary>
		private void InitializeComponent()
		{    
			this.UpdateUserBtn.Click += new System.EventHandler(this.UpdateUser_Click);
			this.addExisting.Click += new System.EventHandler(this.AddRole_Click);
			this.userRoles.ItemCommand += new System.Web.UI.WebControls.DataListCommandEventHandler(this.UserRoles_ItemCommand);
			this.saveBtn.Click += new System.EventHandler(this.Save_Click);
			this.Load += new System.EventHandler(this.Page_Load);
		}
		#endregion
	}
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -