坛里有人要求(
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();
}
}
}
代码如下:
原理很简单,就不详述了
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();
}
}
}
本文介绍了一种为论坛帖子标题添加前缀的功能实现方法,通过C#代码实现了下拉菜单选择并自动添加到帖子标题前的功能。

被折叠的 条评论
为什么被折叠?



