TextBoxコントロールを再作成しようとしていますが、問題は、ポストバック後にテキストボックスの値が初期状態に戻ることです。
ポストバック後も価値を維持する方法を知っている人はいますか?
[DefaultProperty("Text")]
[ToolboxData("<{0}:MyTextBox runat=server></{0}:MyTextBox>")]
public class MyTextBox : WebControl
{
[Bindable(true)]
[DefaultValue("")]
public string Text
{
get
{
return (String)ViewState["Text"] ?? string.Empty;
}
set
{
ViewState["Text"] = value;
}
}
protected override void RenderContents(HtmlTextWriter output)
{
var a = string.Format(@"<input type='text' id='{0}' name='{0}' value='{1}' />", ID, Text);
output.Write(a);
}
protected override void Render(HtmlTextWriter writer)
{
RenderContents(writer);
}
}