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

📄 blogratepost.cs

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

using System;
using System.Text;
using System.Web.UI.WebControls;
using CommunityServer.Blogs.Components;
using CommunityServer.Components;
using CommunityServer.Controls;

namespace CommunityServer.Blogs.Controls
{
    /// <summary>
    /// Summary description for BlogRatePost.
    /// </summary>
    public class BlogRatePost : WeblogTemplatedWebControl
    {

		public event EventHandler RatingsChanged;

        public BlogRatePost()
        {
            //
            // TODO: Add constructor logic here
            //
        }

        private WeblogPost _p;
        public WeblogPost Post
        {
            get
            {
                if(_p == null)
                {
                    CSContext cntx = CSContext.Current;
                    Weblog wl = Weblogs.GetWeblog(cntx.ApplicationKey);
                    _p = WeblogPosts.GetWeblogEntry(wl.SectionID,cntx.PostID);
                }
                return _p;
            }
            set
            {
                _p = value;
            }
        }

    	protected override void AttachChildControls()
    	{
    		
			LinkButton l;

			l = (LinkButton) FindControl("RateZero");
			l.CommandArgument = "0";
			l.Text = ResourceManager.GetString("PostRating_Zero");
			l.Click += new EventHandler(RateTopic_Click);

			l = (LinkButton) FindControl("RateOne");
			l.CommandArgument = "1";
			l.Text = ResourceManager.GetString("PostRating_One");
			l.Click += new EventHandler(RateTopic_Click);

			l = (LinkButton) FindControl("RateTwo");
			l.CommandArgument = "2";
			l.Text = ResourceManager.GetString("PostRating_Two");
			l.Click += new EventHandler(RateTopic_Click);

			l = (LinkButton) FindControl("RateThree");
			l.CommandArgument = "3";
			l.Text = ResourceManager.GetString("PostRating_Three");
			l.Click += new EventHandler(RateTopic_Click);

			l = (LinkButton) FindControl("RateFour");
			l.CommandArgument = "4";
			l.Text = ResourceManager.GetString("PostRating_Four");
			l.Click += new EventHandler(RateTopic_Click);

			l = (LinkButton) FindControl("RateFive");
			l.CommandArgument = "5";
			l.Text = ResourceManager.GetString("PostRating_Five");
			l.Click += new EventHandler(RateTopic_Click);

			string imagePath = Globals.GetSkinPath() + "/images/ratetopic.gif";
			string imagePathDown = Globals.GetSkinPath() + "/images/ratetopic.gif";
			string imagePathOver = Globals.GetSkinPath() + "/images/ratetopic_Over.gif";


			HyperLink RateLink = FindControl("RateLink") as HyperLink;

			RateLink.Attributes.Add("onMouseOver", "src='" + imagePathOver + "'");
			RateLink.Attributes.Add("onMouseOut", "src='" + imagePath + "'");
			RateLink.Attributes.Add("onMouseDown", "src='" + imagePathDown + "'");

			RateLink.Text = ResourceManager.GetString("Weblogs_Rate");
			RateLink.NavigateUrl = "javascript:ToggleRateMenu()";

			//RateLink.Attributes.Add("onMouseDown", "ToggleRateMenu()");
		}

		void RateTopic_Click (object sender, EventArgs e) 
		{
			LinkButton l = (LinkButton) sender;
			int rate = int.Parse(l.CommandArgument);

			if(SelectedValue != rate)
			{
				Ratings.Rate( this.Post.ThreadID, CSContext.Current.User.UserID, rate);
				SelectedValue = rate;
				OnRatingsChange(e);
			}

		}

		protected int SelectedValue
		{
			get
			{
				object obj = ViewState["SelectedValue"];
				if(obj == null)
					return -1;
				else 
					return (int)obj;
			}
			set {ViewState["SelectedValue"] = value;}
		}

		protected void OnRatingsChange(EventArgs e)
		{
			if(RatingsChanged != null)
				RatingsChanged(this,e);
		}

		protected override void OnPreRender(EventArgs e)
		{
			base.OnPreRender (e);
			StringBuilder sb = new StringBuilder();
			sb.Append("<script language =\"javascript\">");
			sb.Append("  function ToggleRateMenu() {");
			sb.Append("    rateMenu = document.getElementById('RateMenu');");
			sb.Append("    rateButton = document.getElementById('RateButton');");
			sb.Append("");
			sb.Append("    rateMenu.style.left = getposOffset(rateButton, \"left\");");
			sb.Append("    rateMenu.style.top = getposOffset(rateButton, \"top\") + rateButton.offsetHeight;");
			sb.Append("");
			sb.Append("    if (rateMenu.style.visibility == \"hidden\") {");
			sb.Append("      rateMenu.style.visibility = \"visible\";");
			sb.Append("      rateMenu.style.display = 'block';");
			sb.Append("    } else {");
			sb.Append("      rateMenu.style.visibility = \"hidden\";");
			sb.Append("      rateMenu.style.display = 'none';");
			sb.Append("    }");
			sb.Append("  }");
			sb.Append("  ");
			sb.Append("  function getposOffset(what, offsettype){");
			sb.Append("  var totaloffset=(offsettype==\"left\")? what.offsetLeft : what.offsetTop;");
			sb.Append("  var parentEl=what.offsetParent;");
			sb.Append("  while (parentEl!=null){");
			sb.Append("    totaloffset=(offsettype==\"left\")? totaloffset+parentEl.offsetLeft : totaloffset+parentEl.offsetTop;");
			sb.Append("    parentEl=parentEl.offsetParent;");
			sb.Append("  }");
			sb.Append("  return totaloffset;");
			sb.Append("}");
			sb.Append("</script>");
			Page.RegisterClientScriptBlock("RatePost",sb.ToString());
		}

    }
}

⌨️ 快捷键说明

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