爲Cs2.0發帖時添加[原創]等前綴

壇裏有人要求(http://online.whpu.edu.cn/Forums) 於是給論壇加了個前綴

代碼如下:

原理很簡單,就不詳述了

 

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

namespace Edot.CSAddOns.Controls
{
    
public class PostPrefixList : HtmlSelect 
    
{
        TextBox textToPrefix;
        
        
/// <summary>
        
/// 需要綁定的控件
        
/// </summary>

        private String _controlToPrefix = null;
        
public String ControlToPrefix
        
{
            
get return _controlToPrefix; }
            
set { _controlToPrefix = value; }
        }


        
protected override void OnInit(EventArgs e)
        
{
            
this.Items.Add("請選擇");
            
this.Items.Add("【原創】");
            
this.Items.Add("【轉貼】");
            
this.Items.Add("【求助】");
            
this.Items.Add("【公告】");
            
this.Items.Add("【分享】");
            
this.Items.Add("【討論】");
            
this.Items.Add("【推薦】");
            
this.Items.Add("【注意】");
            
this.Items.Add("【灌水】");
            
this.Items.Add("【已解決】");

            
base.OnInit(e);
        }


        
protected override void OnPreRender(EventArgs e)
        
{
            Page.RegisterClientScriptBlock(
"AddPrefixForForumPost", GetPrefixScript());

            
base.OnPreRender(e);
        }


        
protected override void Render(HtmlTextWriter writer)
        
{           

            
this.Attributes.Add("onchange""AddPrefix()");           

            
base.Render(writer);
        }


        
private string GetPrefixScript()
        
{
            
if (_controlToPrefix == null)
                
return null;

            textToPrefix 
= (TextBox)FindControl(_controlToPrefix);
            
string clientId = textToPrefix.ClientID;

            
string selectedText = " document.getElementById(/"{0}/").options[document.getElementById(/"{0}/").selectedIndex].text;";

            StringBuilder sb 
= new StringBuilder();
            sb.Append(
"<script language=/"javascript/">");
            sb.AppendLine(
"function AddPrefix(){");

            
// 添加內容
            sb.AppendLine("document.getElementById(/"" + clientId + "/").value += " + String.Format(selectedText, this.ClientID) + ";");
            sb.AppendLine(
"}");
            sb.AppendLine(
"</script>");

            
return sb.ToString();
        }

    }

}

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章