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

📄 threadmove.cs

📁 本系统是在asp版《在线文件管理器》的基础上设计制作
💻 CS
字号:
//------------------------------------------------------------------------------
// <copyright company="Telligent Systems">
//     Copyright (c) Telligent Systems Corporation.  All rights reserved.
// </copyright> 
//------------------------------------------------------------------------------

using System;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;

using CommunityServer.Components;
using CommunityServer.Controls;
using CommunityServer.Discussions.Components;

namespace CommunityServer.Discussions.Controls 
{

    // *********************************************************************
    //  MoveThread
    //
    /// <summary>
    /// This sever control is used to move a thread from forum to forum.
    /// </summary>
    /// 
    // ********************************************************************/ 
    public class ThreadMove : SkinnedWebControl 
    {

        #region Member Variables & constructor
        CSContext csContext = CSContext.Current;
        string skinFilename = "Moderation\\View-ThreadMove.ascx";
        Label subject;
        Label hasReplies;
        Label postedBy;
        ForumListBox moveTo;
        CheckBox sendEmail;
        Button cancelMove;
        Button move;
        ForumPost postToMove;
		RequiredFieldValidator moveToValidator;

        // *********************************************************************
        //  MovePost
        //
        /// <summary>
        /// Constuctor
        /// </summary>
        /// 
        // ***********************************************************************/
        public ThreadMove() : base() 
        {

            // Set the skin file
            if (SkinFilename == null)
                SkinFilename = skinFilename;

            if (csContext.ReturnUrl == null) 
            {
                throw new CSException(CSExceptionType.ReturnURLRequired);
            }
        }

        #endregion

        #region Initialize Skin
        // *********************************************************************
        //  InitializeSkin
        //
        /// <summary>
        /// Initialize the control template and populate the control with values
        /// </summary>
        /// <param name="skin">Control instance of the skin</param>
        /// 
        // ***********************************************************************/
        override protected void InitializeSkin(Control skin) 
        {

            // Get the post we want to move
            postToMove = Posts.GetPost(csContext.PostID, csContext.User.UserID);

			// Do an access check
			Permissions.AccessCheck( postToMove.Section, Permission.Moderate, CSContext.Current.User, postToMove );

            // Display subject
            subject = (Label) skin.FindControl("Subject");
            if (null != subject) 
            {
                subject.Text = postToMove.Subject;
            }

            // Has Replies?
            hasReplies = (Label) skin.FindControl("HasReplies");
            if (null != hasReplies) 
            {
                
                if (postToMove.Replies > 0) 
                {
                    hasReplies.Text = ResourceManager.GetString("Yes");
                } 
                else 
                {
                    hasReplies.Text = ResourceManager.GetString("No");
                }
            }

            // Posted By
            postedBy = (Label) skin.FindControl("PostedBy");
            if (null != postedBy) 
            {
                postedBy.Text = postToMove.Username + " ";
            }

            // Display the move to drop down list
            moveTo = (ForumListBox) skin.FindControl("MoveTo");

            // Cancel
            cancelMove = (Button) skin.FindControl("CancelMove");
            if (null != cancelMove) 
            {
                cancelMove.Click += new EventHandler(Cancel_Click);
                cancelMove.Text = ResourceManager.GetString("MovePost_CancelMove");
            }

            // Move Post
            move = (Button) skin.FindControl("MovePost");
            if (null != move) 
            {
                move.Click += new System.EventHandler(MoveThread_Click);
                move.Text = ResourceManager.GetString("MovePost_MovePost");
            }

			// Validator
			moveToValidator = (RequiredFieldValidator) skin.FindControl("MoveToValidator");

            // Send email
            sendEmail = (CheckBox) skin.FindControl("SendUserEmail");
            sendEmail.Text = ResourceManager.GetString("MovePost_SendUserEmail");
        }
        #endregion

        #region Move Event
        // *********************************************************************
        //  MoveThread_Click
        //
        /// <summary>
        /// Event handler for deleting a post
        /// </summary>
        /// 
        // ***********************************************************************/
        private void MoveThread_Click(Object sender, EventArgs e) 
        {
			// Make sure their selection is a valid forum.
			if(moveTo.SelectedForum == 0)
			{
				moveToValidator.IsValid = false;
				return;
			}

            // Are we valid?
            Moderate.MovePost(postToMove, moveTo.SelectedForum, csContext.User.UserID, sendEmail.Checked);

            // Redirect the user to the return url.
            HttpContext.Current.Response.Redirect(csContext.ReturnUrl);
            HttpContext.Current.Response.End();
        }

        void Cancel_Click (object sender, EventArgs e) 
        {
            CSContext.Current.Context.Response.Redirect(csContext.ReturnUrl, true);
        }

        #endregion
    }
}

⌨️ 快捷键说明

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