您目前尚未登陆,请选择【登陆】或【注册
首页->博客论坛->BlogEngine v1.3 多皮肤多语言版源码>>admin/Pages/Users.aspx.cs>>代码在线查看
温馨提示:代码在线浏览功能只能做为源码浏览参考,不能展示项目的全部,如果想更进一步了解该代码请下载:BlogEngine v1.3 多皮肤多语言版源码


当前文件路径:BlogEngine/admin/Pages/Users.aspx.cs 文件类型
普通视图
		            
1Using 17 18public partial class admin_newuser : System.Web.UI.Page 19{ 20 protected void Page_Load(object sender, EventArgs e) 21 { 22 gridUsers.RowEditing += new GridViewEditEventHandler(grid_RowEditing); 23 gridUsers.RowUpdating += new GridViewUpdateEventHandler(grid_RowUpdating); 24 gridUsers.RowCancelingEdit += delegate { Response.Redirect(Request.RawUrl); }; 25 gridUsers.RowDeleting += new GridViewDeleteEventHandler(grid_RowDeleting); 26 gridUsers.RowDataBound += new GridViewRowEventHandler(gridUsers_RowDataBound); 27 28 CreateUserWizard1.CreatingUser += new LoginCancelEventHandler(CreateUserWizard1_CreatingUser); 29 CreateUserWizard1.CreatedUser += new EventHandler(CreateUserWizard1_CreatedUser); 30 31 Page.Title = Resources.labels.users; 32 33 if (!Page.IsPostBack) 34 BindGrid(); 35 } 36 37 void CreateUserWizard1_CreatingUser(object sender, LoginCancelEventArgs e) 38 { 39 if (Membership.GetUser(CreateUserWizard1.UserName) != null) 40 { 41 e.Cancel = true; 42 lblError.Visible = true; 43 } 44 } 45 46 void gridUsers_RowDataBound(object sender, GridViewRowEventArgs e) 47 { 48 if (e.Row.RowType == DataControlRowType.DataRow && !Page.IsPostBack) 49 { 50 LinkButton delete = e.Row.Cells[0].Controls[2] as LinkButton; 51 DataBoundLiteralControl username = e.Row.Cells[1].Controls[0] as DataBoundLiteralControl; 52 string text = string.Format(Resources.labels.areYouSure, Resources.labels.delete.ToLowerInvariant(), username.Text.Trim()); 53 delete.OnClientClick = "return confirm('" + text.Replace("'", "\\'") + "')"; 54 } 55 } 56 57 private void BindGrid() 58 { 59 int count = 0; 60 gridUsers.DataSource = Membership.Provider.GetAllUsers(0, 999, out count); 61 gridUsers.DataKeyNames = new string[] { "username" }; 62 gridUsers.DataBind(); 63 if (count > 0) 64 gridUsers.HeaderRow.Cells[1].Text = Resources.labels.userName; 65 } 66 67 /// <summary> 68 /// Handles the RowDeleting event of the grid control. 69 /// </summary> 70 /// <param name="sender">The source of the event.</param> 71 /// <param name="e">The <see cref="System.Web.UI.WebControls.GridViewDeleteEventArgs"/> instance containing the event data.</param> 72 void grid_RowDeleting(object sender, GridViewDeleteEventArgs e) 73 { 74 string username = (string)gridUsers.DataKeys[e.RowIndex].Value; 75 Membership.DeleteUser(username); 76 string[] roles = Roles.GetRolesForUser(username); 77 Roles.RemoveUserFromRoles(username, roles); 78 Response.Redirect(Request.RawUrl); 79 } 80 81 /// <summary> 82 /// Handles the RowUpdating event of the grid control. 83 /// </summary> 84 /// <param name="sender">The source of the event.</param> 85 /// <param name="e">The <see cref="System.Web.UI.WebControls.GridViewUpdateEventArgs"/> instance containing the event data.</param> 86 void grid_RowUpdating(object sender, GridViewUpdateEventArgs e) 87 { 88 string username = (string)gridUsers.DataKeys[e.RowIndex].Value; 89 TextBox txtPassword = (TextBox)gridUsers.Rows[e.RowIndex].FindControl("txtPassword"); 90 TextBox txtEmail = (TextBox)gridUsers.Rows[e.RowIndex].FindControl("txtEmail"); 91 TextBox txtUsername = (TextBox)gridUsers.Rows[e.RowIndex].FindControl("txtUsername"); 92 93 MembershipUser oldUser = Membership.GetUser(username); 94 string[] oldRoles = Roles.GetRolesForUser(username); 95 Membership.DeleteUser(username); 96 97 MembershipUser user = Membership.CreateUser(txtUsername.Text, txtPassword.Text, txtEmail.Text); 98 if (oldRoles.Length > 0) 99 Roles.AddUserToRoles(username, oldRoles); 100 101 if (username != txtUsername.Text) 102 { 103 UpdatePosts(username, txtUsername.Text); 104 } 105 106 Response.Redirect(Request.RawUrl); 107 } 108 109 private static void UpdatePosts(string oldUsername, string newUsername) 110 { 111 for (int i = 0; i < Post.Posts.Count; i++) 112 { 113 Post post = Post.Posts[i]; 114 if (post.Author == oldUsername) 115 { 116 foreach (Comment comment in post.Comments) 117 { 118 if (comment.Author == oldUsername) 119 comment.Author = newUsername; 120 } 121 122 post.Author = newUsername; 123 post.Save(); 124 } 125 } 126 } 127 128 /// <summary> 129 /// Handles the RowEditing event of the grid control. 130 /// </summary> 131 /// <param name="sender">The source of the event.</param> 132 /// <param name="e">The <see cref="System.Web.UI.WebControls.GridViewEditEventArgs"/> instance containing the event data.</param> 133 void grid_RowEditing(object sender, GridViewEditEventArgs e) 134 { 135 gridUsers.EditIndex = e.NewEditIndex; 136 BindGrid(); 137 } 138 139 /// <summary> 140 /// Handles the CreatedUser event of the CreateUserWizard1 control. 141 /// </summary> 142 /// <param name="sender">The source of the event.</param> 143 /// <param name="e">The <see cref="System.EventArgs"/> instance containing the event data.</param> 144 void CreateUserWizard1_CreatedUser(object sender, EventArgs e) 145 { 146 Response.Redirect("users.aspx", true); 147 } 148 149 150 /// <summary> 151 /// Handles the CheckedChanged event of the cb control. 152 /// </summary> 153 /// <param name="sender">The source of the event.</param> 154 /// <param name="e">The <see cref="System.EventArgs"/> instance containing the event data.</param> 155 protected void cb_CheckedChanged(object sender, EventArgs e) 156 { 157 CheckBox cb = (CheckBox)sender; 158 GridViewRow drv = (GridViewRow)cb.Parent.BindingContainer; 159 string _userName = gridUsers.DataKeys[drv.DataItemIndex].Value.ToString(); 160 string _roleToUse = cb.Text; 161 if (cb.Checked == false) 162 { 163 if (User.Identity.Name != _userName.ToLower()) 164 Roles.RemoveUserFromRole(_userName, _roleToUse); 165 } 166 else 167 { 168 if (!Roles.IsUserInRole(_userName, _roleToUse)) 169 Roles.AddUserToRole(_userName, _roleToUse); 170 } 171 Response.Redirect("users.aspx", true); 172 } 173 174 /// <summary> 175 /// Handles the Load event of the gridUsers control. 176 /// </summary> 177 /// <param name="sender">The source of the event.</param> 178 /// <param name="e">The <see cref="System.EventArgs"/> instance containing the event data.</param> 179 protected void gridUsers_Load(object sender, EventArgs e) 180 { 181 for (int i = 0; i < gridUsers.Rows.Count; i++) 182 { 183 string[] allRoles = Roles.GetAllRoles(); 184 foreach (string _role in allRoles) 185 { 186 CheckBox cb = new CheckBox(); 187 cb.Text = _role; 188 cb.Checked = Roles.IsUserInRole(gridUsers.DataKeys[i].Value.ToString(), _role); 189 cb.AutoPostBack = true; 190 cb.TextAlign = TextAlign.Right; 191 cb.Style.Add("display", "inline"); 192 cb.Style.Add("padding-right", "15px"); 193 cb.CheckedChanged += new EventHandler(cb_CheckedChanged); 194 gridUsers.Rows[i].Cells[4].Controls.Add(cb); 195 } 196 } 197 } 198} 199
还没有找到您心仪的内容?请用.net源码大搜捕
代码片断 打包下载该项目完整源码:BlogEngine v1.3 多皮肤多语言版源码

- Asp.net简单博客系统

- ExtJs单用户Blog系统后台源码

- 51aspx多文件上传示例源码

- 小牛博客(xiaoniuBlog)测试版..

- CommunityServer2.0汉化免安..

- Asp.net汉字转拼音源码(全)

- 51aspx简单入门新闻系统(Asp..

- 易联多用户Blog网站程序源码..

51Aspx.com 版权所有 CopyRight © 2000-2008. 京ICP备06046876号