📄 roleadmin.cs
字号:
//------------------------------------------------------------------------------
// <copyright company="Telligent Systems">
// Copyright (c) Telligent Systems Corporation. All rights reserved.
// </copyright>
//------------------------------------------------------------------------------
using System;
using System.ComponentModel;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using CommunityServer;
using CommunityServer.Components;
namespace CommunityServer.Controls {
public class RoleAdmin : TemplatedWebControl {
#region Child Controls
protected Literal RoleID;
protected TextBox Name;
protected TextBox Description;
protected RoleIcons RoleIcon;
protected Button Delete;
protected Button Save;
#endregion
#region Skin
protected override void AttachChildControls() {
RoleID = (Literal)FindControl( "RoleID" );
Name = (TextBox)FindControl( "Name" );
Description = (TextBox)FindControl( "Description" );
Delete = (Button)FindControl( "Delete" );
Save = (Button)FindControl( "Save" );
RoleIcon = FindControl("RoleIcon") as RoleIcons;
InitializeChildControls();
}
private void InitializeChildControls() {
this.Delete.Click += new EventHandler(Delete_Click);
this.Save.Click += new EventHandler(Save_Click);
}
#endregion
#region Command Handlers
private void Save_Click(object sender, EventArgs e) {
Role roleToEdit = Roles.GetRole( new Guid( RoleID.Text ) );
if ( IsRoleEditable( roleToEdit ) ) {
SaveRole( roleToEdit );
Context.Response.Redirect( Globals.GetSiteUrls().AdminManageRoles, true );
}
else
{
throw new CSException(CSExceptionType.RoleOperationUnavailable);
}
}
private void Delete_Click(object sender, EventArgs e) {
Role role = Roles.GetRole( new Guid( RoleID.Text ) );
if ( IsRoleEditable( role ) ) {
DeleteRole( role );
Context.Response.Redirect( Globals.GetSiteUrls().AdminManageRoles, true );
} else {
throw new CSException(CSExceptionType.RoleOperationUnavailable);
}
}
#endregion
#region Command Implementations
protected virtual void SaveRole( Role role ) {
role.Name = Name.Text;
role.Description = Description.Text;
Roles.UpdateRole( role );
}
protected virtual void DeleteRole( Role role ) {
Roles.DeleteRole( role );
}
#endregion
protected Boolean IsRoleEditable( Role role ) {
return !Roles.IsBuiltInRole(role.Name);
}
protected override void OnLoad(EventArgs e) {
if ( !Page.IsPostBack ) {
this.DataBind();
}
base.OnLoad( e );
}
public override void DataBind(){
base.DataBind();
Delete.Attributes["onclick"] = string.Format("return confirm('{0}');", ResourceManager.GetString("DeleteRole_PopupConfirmation").Replace("'", @"\'") );
this.Delete.Text = ResourceManager.GetString( "Delete" );
this.Save.Text = ResourceManager.GetString( "Save" );
Guid roleID = CSContext.Current.RoleID;
Role roleToEdit = Roles.GetRole( roleID, false );
if ( roleToEdit != null ) {
RoleID.Text = roleToEdit.RoleID.ToString();
Name.Text = roleToEdit.Name;
Description.Text = roleToEdit.Description;
RoleIcon.RoleID = roleToEdit.RoleID.ToString();
}
Description.TextMode = TextBoxMode.MultiLine;
Description.Rows = 5;
Description.Enabled = IsRoleEditable( roleToEdit );
Name.Enabled = IsRoleEditable( roleToEdit );
Save.Enabled = IsRoleEditable( roleToEdit );
Delete.Enabled = IsRoleEditable( roleToEdit );
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -