我是自定义 asp.net 服务器控件的新手,似乎找不到任何我认为应该是相当容易的任务的示例。我正在尝试编写一个自定义文本框服务器控件,它允许我传入一个名为 placeholder 的新自定义属性,如下所示:
<bs:BootstrapTextbox ID="BootstrapTextboxTest" CssClass="span2" placeholder="This is a Test" runat="server"></bs:BootstrapTextbox>
并渲染:
<input name="BootstrapTextboxTest" type="text" id="BootstrapTextboxTest" class="span2" placeholder="This is a Test">
占位符标记在 Twitter 的 Bootstrap JQuery 框架中用于在控件中呈现文本。我想通过我的代码隐藏访问它以进行本地化。
这是我目前的自定义服务器控件:
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Linq;
using System.Text;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
namespace BootstrapControls
{
public class BootstrapTextbox : TextBox
{
[Bindable(false)]
[Category("Properties")]
[DefaultValue("")]
[Localizable(true)]
public string Placeholder
{
get
{
String placeholder = (String)ViewState["placeholder"];
return ((placeholder == null) ? String.Empty : placeholder);
}
set
{
ViewState["placeholder"] = value;
}
}
protected override void RenderContents(HtmlTextWriter writer)
{
writer.Write(Placeholder);
}
}
}
再次。我是新手,所以任何方向/示例将不胜感激。提前感谢您的任何帮助。