1

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);
        }
    }
4

1 に答える 1

1

入力に名前がありません...名前がないと、彼の値が返されることはありません。

于 2011-08-08T09:07:32.363 に答える