📄 managesmiliesadmin.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 ManageSmiliesAdmin : TemplatedWebControl {
#region Child Controls
DataList ManageSmilies;
#endregion
#region Skin
protected override void AttachChildControls() {
ManageSmilies = (DataList)FindControl( "ManageSmilies" );
InitializeChildControls();
}
private void InitializeChildControls() {
ManageSmilies.DataKeyField = "SmileyID";
ManageSmilies.ItemDataBound += new DataListItemEventHandler(ManageSmilies_ItemDataBound);
ManageSmilies.EditCommand += new DataListCommandEventHandler(ManageSmilies_EditCommand);
ManageSmilies.CancelCommand += new DataListCommandEventHandler(ManageSmilies_CancelCommand);
ManageSmilies.DeleteCommand += new DataListCommandEventHandler(ManageSmilies_DeleteCommand);
ManageSmilies.UpdateCommand += new DataListCommandEventHandler(ManageSmilies_UpdateCommand);
ManageSmilies.ItemCommand += new DataListCommandEventHandler(ManageSmilies_ItemCommand);
}
#endregion
#region Command Handlers
private void ManageSmilies_EditCommand(object source, DataListCommandEventArgs e) {
ManageSmilies.EditItemIndex = e.Item.ItemIndex;
BindSmilies();
}
private void ManageSmilies_CancelCommand(object source, DataListCommandEventArgs e) {
ManageSmilies.EditItemIndex = -1;
BindSmilies();
}
private void ManageSmilies_DeleteCommand(object source, DataListCommandEventArgs e) {
DeleteSmiley( e );
ManageSmilies.EditItemIndex = -1;
BindSmilies();
}
private void ManageSmilies_UpdateCommand(object source, DataListCommandEventArgs e) {
UpdateSmiley( e );
ManageSmilies.EditItemIndex = -1;
BindSmilies();
}
private void ManageSmilies_ItemCommand(object source, DataListCommandEventArgs e) {
if( e.CommandName == "Create" ) {
CreateSmiley( e );
BindSmilies();
}
}
#endregion
#region Command Implementations
protected virtual void DeleteSmiley( DataListCommandEventArgs e ) {
Int32 SmileyID = Convert.ToInt32( this.ManageSmilies.DataKeys[ e.Item.ItemIndex ] );
Smiley smiley = GetSmiley( SmileyID );
Smilies.DeleteSmiley( smiley );
}
protected virtual void UpdateSmiley( DataListCommandEventArgs e ) {
TextBox SmileyCode = (TextBox)e.Item.FindControl( "SmileyCodeEdit" );
TextBox SmileyUrl = (TextBox)e.Item.FindControl( "SmileyUrlEdit" );
TextBox SmileyText = (TextBox)e.Item.FindControl( "SmileyTextEdit" );
if ( SmileyCode == null || SmileyUrl == null || SmileyText == null ) {
return;
}
Int32 SmileyID = Convert.ToInt32( this.ManageSmilies.DataKeys[ e.Item.ItemIndex ] );
Smiley smiley = GetSmiley( SmileyID );
if ( smiley.SmileyCode == SmileyCode.Text && smiley.SmileyUrl == SmileyUrl.Text && smiley.SmileyText == SmileyText.Text ) {
return;
}
smiley.SmileyCode = SmileyCode.Text;
smiley.SmileyUrl = SmileyUrl.Text;
smiley.SmileyText = SmileyText.Text;
Smilies.UpdateSmiley( smiley );
}
protected virtual void CreateSmiley( DataListCommandEventArgs e ) {
TextBox SmileyCode = (TextBox)e.Item.FindControl( "NewSmileyCode" );
TextBox SmileyUrl = (TextBox)e.Item.FindControl( "NewSmileyUrl" );
TextBox SmileyText = (TextBox)e.Item.FindControl( "NewSmileyText" );
if ( SmileyCode == null || SmileyUrl == null || SmileyText == null ) {
return;
}
Smiley smiley = new Smiley( 0, SmileyCode.Text, SmileyUrl.Text, SmileyText.Text, false );
Smilies.CreateSmiley( smiley );
}
#endregion
protected override void OnLoad(EventArgs e) {
if ( !Page.IsPostBack ) {
this.DataBind();
}
base.OnLoad( e );
}
public override void DataBind(){
base.DataBind();
BindSmilies();
}
private void BindSmilies() {
ManageSmilies.DataSource = Smilies.GetSmilies(false);
ManageSmilies.DataBind();
}
private void ManageSmilies_ItemDataBound(object sender, DataListItemEventArgs e) {
Smiley dataItem = e.Item.DataItem as Smiley;
switch( e.Item.ItemType ) {
case ListItemType.Item:
case ListItemType.AlternatingItem:
Label SmileyIDLabel = (Label)e.Item.FindControl( "SmileyID" );
Label SmileyCodeLabel = (Label)e.Item.FindControl( "SmileyCode" );
Label SmileyUrlLabel = (Label)e.Item.FindControl( "SmileyUrl" );
Image SmileyImage = (Image)e.Item.FindControl( "SmileyImage" );
Label SmileyTextLabel = (Label)e.Item.FindControl( "SmileyText" );
Button EditButton = (Button)e.Item.FindControl( "Edit" );
Button DeleteButton = (Button)e.Item.FindControl( "Delete" );
SmileyIDLabel.Text = dataItem.SmileyId.ToString();
SmileyCodeLabel.Text = dataItem.SmileyCode;
SmileyUrlLabel.Text = dataItem.SmileyUrl;
SmileyImage.AlternateText = dataItem.SmileyText;
SmileyImage.ImageUrl = Globals.ApplicationPath + "/" + dataItem.SmileyUrl;
SmileyTextLabel.Text = dataItem.SmileyText;
EditButton.Text = ResourceManager.GetString( "Edit" );
DeleteButton.Text = ResourceManager.GetString( "Delete" );
break;
case ListItemType.EditItem:
Label SmileyID = (Label)e.Item.FindControl( "SmileyIDEdit" );
TextBox SmileyCode = (TextBox)e.Item.FindControl( "SmileyCodeEdit" );
TextBox SmileyUrl = (TextBox)e.Item.FindControl( "SmileyUrlEdit" );
TextBox SmileyText = (TextBox)e.Item.FindControl( "SmileyTextEdit" );
Button UpdateButton = (Button)e.Item.FindControl( "Update" );
Button CancelButton = (Button)e.Item.FindControl( "Cancel" );
if(SmileyID == null)
throw new Exception("hey!");
SmileyID.Text = dataItem.SmileyId.ToString();
SmileyCode.Text = dataItem.SmileyCode;
SmileyUrl.Text = dataItem.SmileyUrl;
SmileyText.Text = dataItem.SmileyText;
UpdateButton.Text = ResourceManager.GetString( "Update" );
CancelButton.Text = ResourceManager.GetString( "Cancel" );
break;
case ListItemType.Footer:
Button CreateButton = (Button)e.Item.FindControl( "Create" );
CreateButton.Text = ResourceManager.GetString( "Create" );
break;
}
}
private Smiley GetSmiley( Int32 smileyID ) {
Smiley apiProvidedSmiley = Smilies.GetSmiley( smileyID );
if ( apiProvidedSmiley != null ) {
return apiProvidedSmiley;
}
foreach( Smiley smiley in Smilies.GetSmilies() ) {
if ( smiley.SmileyId == smileyID ) {
return smiley;
}
}
return null;
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -